NAMN
dpkg - en mellannivåpakethanterare för Debian
SYNOPS
dpkg [flaggor] åtgärd
VARNING
Denna manual är avsedd för användare som vill få en mer detaljerad förståelse för dpkgs kommandoradsflaggor och pakettillstånd än vad som berättas med dpkg −−help.
Den bör inte användas av paketansvariga som vill lära sig hur dpkg kommer att installera deras paket. Beskrivningen över vad dpkg gör när paket installeras och tas bort är speciellt otillräckliga.
BESKRIVNING
dpkg är ett mellannivåverktyg för att installera, bygga, ta bort och hantera Debianpaket. Det primära och mer användarvänliga skalet runt dpkg är dselect(8). dpkg kontrolleras helt och hållet via kommandoradsflaggor, vilka består av exakt en åtgärd och noll eller fler tillval. Åtgärdsparametern talar om för dpkg vad som skall göras, och tillvalen styr på vilket sätt åtgärden skall utföras.
dpkg kan
även användas som ett skal runt
dpkg−deb. Följande är
åtgärder för dpkg−deb, och om
de upptäcks kör dpkg helt enkelt
dpkg−deb med de flaggor som getts:
−b, −−build,
−c, −−contents,
−I, −−info,
−f, −−field,
−e, −−control,
−x, −−extract,
−X, −−vextract, och
−−fsys−tarfile.
Se dpkg−deb(1) för information om dessa
åtgärder.
INFORMATION OM PAKET
dpkg upprätthåller viss användbar information om tillgängliga paket. Informationen delas in i tre klasser: tillstånd, markeringstillstånd och flaggor. Dessa värden är avsedda att huvudsakligen ändras via dselect.
PAKETTILLSTÅND
installerat
Paketet är uppackat och korrekt inställt.
halvt installerat
Installationen av paketet har påbörjats, men av någon orsak inte slutförts.
ej installerat
Paketet är inte installerat på ditt system.
uppackat
Paketet är uppackat, men inte konfigurerat.
halvt konfigurerat
Paketet är uppackat och konfigurationen har påbörjats, men av någon orsak inte slutförts.
konfigurationsfiler
Endast konfigurationsfilerna för paketet finns på systemet.
MARKERINGSTILLSTÅND
FÖR PAKET
installera
Paketet är markerat för installation.
ta bort
Paketet är markerat för avinstallation (dvs. vi vill ta bort alla filer förutom konfigurationsfilerna).
rensa |
Paketet är markerat för rensning (dvs. vi vill ta bort allting, även konfigurationsfiler). |
PAKETFLAGGOR
håll |
Ett paket som är markerat med håll hanteras inte av dpkg såvida inte detta framtvingas med flaggan −−force−hold. |
ominstallation krävs
Ett paket markerat ominstallation krävs är trasigt och kräver ominstallation. Dessa paket kan inte tas bort, såvida inte detta framtvingas med flaggan −−force−remove−reinstreq.
ÅTGÄRDER
dpkg −i | −−install paketfil...
Installera paketet. Om flaggan −−recursive eller −R anges måste paketfil istället vara en katalog.
Installationen består av följande steg:
1. Extrahera styrfilerna ur paketet.
2. Om en annan version av samma paket redan fanns installerat vid nyinstallationen exekveras prerm-skriptet för det gamla paketet.
3. Kör preinst-skriptet, om ett sådant medföljer paketet.
4. Packa upp de nya filerna och säkerhetskopiera samtidigt de gamla filerna så att de kan återställas om någonting går fel.
5. Om en annan version av samma paket redan fanns installerat vid nyinstallationen exekveras postrm-skriptet för det gamla paketet. Observera att skriptet exekveras efter preinst för det nya paketet eftersom de nya filerna skrivs samtidigt som de gamla tas bort.
6. Konfigurera paketet. Se −−configure för detaljerad information om hur detta görs.
dpkg −−unpack paketfil ...
Packa upp paketet, men konfigurera det inte. Om flaggan −−recursive eller −R anges måste paketfil istället vara en katalog.
dpkg −−configure paket ... | −a | −−pending
Konfigurera ett uppackat paket. Om −a eller −−pending anges istället för paket konfigureras alla paket som har packats upp men ännu inte konfigurerats.
Konfigurering består av följande steg:
1. Packa upp konfigurationsfilerna och säkerhetskopiera samtidigt de gamla konfigurationsfilerna så att de kan återställas om någonting går fel.
2. Kör postinst-skriptet, om ett sådant finns i paketet.
dpkg −r | −−remove | −P | −−purge paket ... | −a | −−pending
Ta bort ett installerat paket. −r eller −−remove tar bort allting förutom konfigurationsfiler, vilket gör att du kan undvika att konfigurera om paketet om du senare installerar om det. (Konfigurationsfiler listas i styrfilen debian/conffiles). −P eller −−purge tar bort allting, inklusive konfigurationsfiler. Om −a eller −−pending anges istället för ett paketnamn kommer alla uppackade paket som i filen /var/lib/dpkg/status markerats för att tas bort eller rensas att tas bort eller rensas, respektive.
Borttagning av ett paket består av följande steg:
1. Kör prerm-skriptet
2. Ta bort de installerade filerna
3. Kör postrm-skriptet
dpkg −−update−avail | −−merge−avail Packages-fil
Uppdatera dpkgs och dselects lista över vilka paket som finns tillgängliga. Med −−merge−avail kombineras den gamla informationen med informationen från Packages-filen. Med −−update−avail ersätts den gamla informationen med informationen från Packages-filen. Packages-filerna som medföljer Debian heter helt enkelt Packages. dpkg behåller sin lista över tillgängliga paket i /var/lib/dpkg/available.
Ett enklare kommando för att hämta och uppdatera available-filen på en gång är dselect update.
dpkg −A | −−record−avail paketfil ...
Uppdatera dpkgs och dselects lista över vilka paket som finns tillgängliga med information från paketet paketfil. Om flaggan −−recursive eller −R anges måste paketfil istället vara en katalog.
dpkg −−forget−old−unavail
Glöm bort ej installerade ej länge tillgängliga paket.
dpkg −−clear−avail
Radera existerande information om vilka paket som är tillgängliga.
dpkg −C | −−audit
Söker efter paket som endast installerats delvis på ditt system. dpkg kommer att föreslå vad som behöver göras för att få dem att fungera.
dpkg −−get−selections [mönster...]
Hämta en lista över paketval och skriv den till standard ut.
dpkg −−set−selections
Sätt paketvalslistan med den fil som läses från standard in.
dpkg −−yet−to−unpack
Söker efter paket som markerats för installation men som av någon anledning ännu inte har installerats.
dpkg −−print−architecture
Skriv målarkitekturen (till exempel "i386"). Detta alternativ använder gcc.
dpkg −−print−gnu−build−architecture
Skriv GNU-versionen av målarkitekturen (till exempel "i486").
dpkg −−print−installation−architecture
Visa installationens värdarkitektur.
dpkg −−compare−versions ver1 op ver2
Jämför versionsnummer, där op är en binär operator. dpkg returnerar framgång (noll) om det angivna värdet uppfylls, och misslyckande (icke-noll) i annat fall. Det finns två grupper operatorer, vilka endast skiljer sig i hur de hanterar när ver1 eller ver2 är tom. Dessa hanterar tom version som om den är tidigare än alla andra versioner: lt le eq ne ge gt. Dessa hanterar tom version som om den är senare än alla andra versioner: lt-nl le−nl ge−nl gt−nl. Dessa tillhandahålls endast för kompatibilitet med styrfilssyntaxen: < << <= = >= >> >.
dpkg −−command−fd <n>
Läser en följd av kommandon från indatafilhandtag <n>. Observera: Flaggor som sätts på kommandoraden, och genom detta filhandtag, återställs inte för kommandon som körs i en följd under samma körning.
dpkg −−help
Visar en kortfattat hjälptext.
dpkg −−force−help
Get hjälp om −−force−nånting-flaggorna.
dpkg −Dh | −−debug=help
Ger hjälp om felsökningsflaggorna.
dpkg −−licence | dpkg −−license
Visar dpkgs licensvillkor.
dpkg −−version
Visar dpkgs versionsinformation.
dpkg−deb-åtgärder
Se dpkg−deb(1) för ytterligare information om följande åtgärder:
dpkg
−b | −−build katalog
[filnamn]
Bygg ett deb-paket.
dpkg −c | −−contents
filnamn
Visar innehållet i ett deb-paket.
dpkg −e | −−control
filnamn [katalog]
Extraherar styrinformation från ett paket.
dpkg −x | −−extract filnamn
katalog
Extraherar filerna i ett paket.
dpkg −f | −−field
filnamn [control-fält] ...
Visar fält från paketets styrfil (control).
dpkg −−fsys−tarfile filnamn
Visar filsystems-tarfilen i Debianpaketet.
dpkg −I | −−info filnamn
[control-fil]
Visa information om ett paket.
dpkg −X | −−vextract filnamn
katalog
Extrahera och visa filnamnen som finns i ett paket.
dpkg−query-åtgärder
Se dpkg−query(1) för ytterligare information om följande åtgärder:
dpkg
−l | −−list
paketnamnsmönster ...
Lista paket som matchar det givna mönstret.
dpkg −s | −−status
paketnamn ...
Rapportera status om det angivna paketet.
dpkg −L | −−listfiles
paket ...
Lista filer som installerats på ditt system från
paket.
dpkg −S | −−search
filnamnssökmönster ...
Sök efter filnamnet bland de installerade paketen.
dpkg −p | −−print−avail
paket
Visa detaljer om paket, som i
/var/lib/dpkg/available/.
FLAGGOR
Alla flaggorna
kan ges både på kommandoraden och i dpkgs
konfigurationsfil /etc/dpkg/dpkg.cfg. En rad i
konfigurationsfilen är antingen en flagga (precis samma
som på kommandoraden, men utan inledande bindestreck)
eller en kommentar (om den börjar med ett #).
−−abort−after=antal
Ställer in efter hur många fel dpkg skall avbryta. Förvalet är 50.
−B|−−auto−deconfigure
När ett paket tas bort är det möjligt att ett annat paket beror på det borttagna paketet. Om du anger denna flagga kommer de paket som beror på det borttagna paketet automatiskt att avkonfigureras.
−Doktalvärde | −−debug=oktalvärde
Aktiverar felsökning. oktalvärdet skapas genom att utföra bitvis logisk "eller" av de önskade värdena från listan nedan (observera att dessa värden kan ändras i framtida versioner). −Dh eller −−debug=help visar dessa felsökningsvärden.
tal beskrivning
1 Allmänt hjälpsam förloppsinformation
2 Anrop och status för utvecklarskript
10 Utdata för varje fil som hanteras
100 Massvis med utdata för varje fil som hanteras
20 Utdata för varje konfigurationsfil
200 Massvis med utdata för varje konfigurationsfil
40 Beroenden och konflikter
400 Massvis av beroende-/konfliktutdata
1000 Massvis av pladder om bl.a dpkg/info-katalogen
2000 Knäppa mängder pladder
−−force−nånting | −−no−force−nånting | −−refuse−nånting
Tvinga eller vägra (no−force och refuse betyder detsamma) att göra vissa saker. nånting är en kommaavgränsad lista över saker enligt nedan. −−force−help visar en lista med beskrivningar. Saker som markeras med (*) är som förval tvingande.
Varning: Dessa flaggor är huvudsakligen avsedda att endast användas av experter. Om du använder dem utan att fullt ut förstå vad de går ut på kan du förstöra din systeminstallation.
all: Slår på (eller av) alla tvingande parametrar.
auto−select(*): Markerar paket för att installera, och avmarkerar paket för att ta bort.
downgrade(*): Installera ett paket även om en nyare version redan är installerad.
Varning: För närvarande undersöker inte dpkg beroenden vid nedgradering och kommer därför inte att varna dig om nedgraderingen bryter ett beroende för något paket. Detta kan ha allvarliga sidoeffekter, genom att nedgradera grundläggande systemkomponenter kan du riskera att göra hela systemet instabilt. Använd med tillförsikt.
configure−any: Konfigurera även alla uppackade men ej konfigurerade paket på vilka det aktuella paketet beror.
hold: Hantera även "håll"-markerade paket.
remove−reinstreq: Ta bort ett paket även om det är trasigt och markerat att vara i behov av ominstallation. Detta kan, till exempel, göra så att delar av paketet blir kvar på systemet, men glöms bort av dpkg.
remove−essential: Ta bort paketet även om det anses som viktigt (essential). Viktiga paket är huvudsakligen de mest grundläggande Unixkommandona. Om du tar bort dem kan det göra så att hela systemet slutar fungera, så använd med tillförsikt.
depends: Gör alla beroendeproblem till varningar.
depends−version: Ignorera versionsnummer när beroenden kontrolleras.
conflicts: Installera även om paket som är i konflikt (krockar) med ett annat paket. Detta är farligt, eftersom det oftast leder till att vissa filer skrivs över.
confmiss: Installera alltid saknade konfigurationsfiler. Detta är farligt, eftersom det inte bibehåller ändringar (raderingar) av filer.
confnew: Installera alltid nya versioner av ändrade konfigurationsfiler utan att fråga, såvida inte −−force−confdef också anges, i vilket fall det förvalda alternativet kommer att utföras.
confold: Installera aldrig nya versioner av ändrade konfigurationsfiler utan att fråga, såvida inte −−force−confdef också anges, i vilket fall det förvalda alternativet kommer att utföras.
confdef: Utför alltid förvalt alternativt för ändrade konfigurationsfiler. Om inget förval har angivits kommer programmet stanna och fråga användaren såvida inte −−force−confnew eller −−force−confold också angetts, i så fall används den för att bestämma vad som skall utföras.
overwrite: Skriv över ett pakets filer med ett annats.
overwrite−dir Skriv över ett pakets kataloger med ett annats filer.
overwrite−diverted: Skriv över en omdirigerad fil med en ej omdirigerad version.
architecture: Hantera även paket med fel maskinvaruarkitektur.
bad−path: Sökvägen i PATH saknar viktiga program, så problem är troliga.
not−root: Försök (av)installera saker även utan att vara root.
bad−verify: Installera ett paket även om det inte går att verifiera dess äkthet.
−−ignore−depends=paket,...
Ignorera beroendekontroll för angivna paket (i verkligheten utförs kontrollen, men det ges endast varningar, ingenting annat).
−−new | −−old
Välj det nya eller gamla binärpaketformatet. Detta är en flagga till dpkg−deb(1).
−−nocheck
Varken läs eller kontrollera innehållet i control-filen när paket skapas. Detta är en flagga till dpkg−deb(1).
−−no-act | −−dry−run | −−simulate
Gör allting som efterfrågas, men skriv inte några ändringar. Detta används för att se vad som skulle ha hänt med givna parametrar utan att faktiskt ändra något.
Se till att du anger −−no−act före åtgärdsflaggan, annars kan du få oönskade biverkningar (t.ex så kommer dpkg −−purge foo −−no−act först att rensa ut paketet foo för att sedan försöka rensa ut paketet −−no−act, trots att du troligen förväntade dig att ingenting skulle utföras)
−R | −−recursive
Hantera alla vanliga filer som matchar sökmönstret *.deb rekursivt i de kataloger som anges, med alla sina underkataloger. Denna flagga kan användas tillsammans med −i, −A, −−install, −−unpack och −−avail.
−G |
Installera inte paketet om en nyare version av samma paket redan är installerat. Detta är ett alias för −−refuse−downgrade. |
−−root=kat | −−admindir=kat | −−instdir=kat
Ändra standardkataloger. Förval för admindir är /var/lib/dpkg, och innehåller filer som ger information om status för installerade och ej installerade paket, osv. Förval för instdir är / och är den katalog som skickas som parameter till chroot(2) innan paketets installationsfiler körs, vilket betyder att skripten ser instdir som rotkatalog. Om du ändrar root ändrar du instdir till kat och admindir till kat/var/lib/dpkg.
−O | −−selected−only
Hantera endast paket som markerats för installation. Själva markeringen utförs med dselect eller av dpkg när paketen hanteras. Till exempel kommer paket som tas bort att markeras för installation.
−E | −−skip−same−version
Installera inte paketet om samma version av paketet redan är installerat.
−−status−fd <n>
Sänder paketstatusinformation till filhandtag <n>. Denna flagga kan ges flera gånger. Statusuppdateringar ges på formen "status: <paket>: <paket qstatus>".
FILER
/etc/dpkg/dpkg.cfg
Konfigurationsfil med förvalda inställningar.
Övriga
filer som listas här finns i sina förvalda
kataloger, se flaggan −−admindir för
information om hur du ändrar placeringen av dessa
filer.
/var/lib/dpkg/available
Lista över tillgängliga paket.
/var/lib/dpkg/status
Status för tillgängliga paket. Denna fil innehåller information om huruvida ett paket är markerat för borttagning eller ej, om det är installerat eller ej, osv. Se sektionen INFORMATION OM PAKET för ytterligare information.
Följande
filer är komponenter i det binära paketet. Se
deb(5) för ytterligare information om dem:
control
conffiles
preinst
postinst
prerm |
||
postrm |
MILJÖVARIABLER
DPKG_NO_TSTP
Definiera detta till någonting om du vill att dpkg skall starta ett nytt skal istället för att lägga sig i bakgrunden när ett skal startas.
SHELL |
Programmet dpkg kommer att exekvera när ett nytt skal startas. |
COLUMNS
Sätter antalet kolumner dpkg skall använda när formaterad text visas. Används för närvarande enbart av −l.
DPKG_OLD_CONFFILE
Sätts av dpkg till filnamnet för den gamla konfigurationsfilen när du startar ett skal för att undersöka en ändrad konfigurationsfil.
DPKG_NEW_CONFFILE
Sätts av dpkg till filnamnet för den nya konfigurationsfilen när du startar ett skal för att undersöka en ändrad konfigurationsfil.
EXEMPEL
För att
lista paket relaterade till textredigeringsprogrammet vi:
dpkg −l ’*vi*’
För att se
posterna i /var/lib/dpkg/available för två
paket:
dpkg −−print−avail elvis vim |
less
För att
själv söka i paketlistan:
less /var/lib/dpkg/available
För att ta
bort det installerade paketet elvis:
dpkg −r elvis
För att
installera ett paket måste du först leta på
det i ett arkiv eller på en cd-rom. Filen
"available" visar att vim-paketet finns i
sektionen "editors":
cd /cdrom/hamm/hamm/binary/editors
dpkg −i vim_4.5−3.deb
För att
göra en lokal kopia av paketmarkeringarna:
dpkg −−get−selections
>minamarkeringar
Du kan
överföra denna fil till en annan dator och
installera den där genom att skriva:
dpkg −−set−selections
<minamarkeringar
Observera att detta faktiskt inte kommer installera eller ta
bort något, utan bara sätta valstatus på de
efterfrågade paketen. Du måste använda
något annat program för att faktiskt hämta
och installera de efterfrågade paketen. Till exempel
kan du köra dselect och välja
"Installera".
För normalt bruk kommer du att upptäcka att dselect(8) tillhandahåller ett bekvämare sätt att ändra paketmarkeringarna.
YTTERLIGARE FUNKTIONER
Ytterligare funktioner kan erhållas genom att installera något av följande paket: apt, aptitude och debsums.
SE ÄVEN
dselect(8), dpkg−deb(1), deb(5), deb−control(5), och dpkg−reconfigure(8)
PROGRAMFEL
−−no−act ger oftast mindre information än vad som vore hjälpsamt.
FÖRFATTARE
Se filen
/usr/share/doc/dpkg/THANKS.gz för en lista
över personer som
bidragit till dpkg .