dpkg(1)

NAMN
dpkg - en mellannivåpakethanterare för Debian

SYNOPS
dpkg [flaggor] åtgärd

VARNING
Manualen ä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 verktyg för att installera, bygga, ta bort och hantera Debianpaket. Det primära och mer användarvänliga skalet runt dpkg är aptitude(1). dpkg kontrolleras helt och hållet via kommandoradsparametrar, vilka består av exakt en åtgärd och noll eller fler flaggor. Åtgärdsparametern talar om för dpkg vad som skall göras, och flaggorna styr på vilket sätt åtgärden skall utföras. dpkg kan även användas som ett skal runt dpkg-deb(1). Följande är åtgärder för dpkg-deb, och om de upptäcks kör dpkg helt enkelt dpkg-deb med de parametrar som angivits:
    -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

ej installerat
    Paketet är inte installerat på ditt system.

konfigurationsfiler
    Endast konfigurationsfilerna för paketet finns på systemet.

halvt installerat
    Installationen av paketet har påbörjats, men av någon orsak inte slutförts.

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.

väntar på utlösare
    Paketet väntar på hantering av utlösare av ett annat paket.

utlösare väntar
    Paketet har utlösts.

installerat
    Paketet är uppackat och korrekt inställt.

  MARKERINGSTILLSTÅND FÖR PAKET

installera
    Paketet är markerat för installation.

håll
    Ett paket som är markerat med håll hanteras inte av dpkg såvida inte det framtvingas med flaggan --force-hold.

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

ominstallation krävs
    Ett paket markerat ominstallation krävs är trasigt och kräver ominstallation. Dessa paket kan inte tas bort, såvida inte det framtvingas med flaggan --force-remove-reinstreq.

ÅTGÄRDER

-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 man gör det.

--unpack paketfil ...
    Packa upp paketet, men konfigurera det inte. Om flaggan --recursive eller -R anges måste paketfil istället vara en katalog.

--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.

--triggers-only paket...|-a|--pending
    Hanterar bara utlösare. Alla avvaktande utlösare kommer att hanteras. Om paketnamn anges kommer endast dessa pakets utlösare att hanteras, precis en gång, om nödvändigt. Om du använder denna flagga kan det hända att paket hamnar i felaktiga väntar på utlösare- och utlösare väntar-tillstånd. Detta kan rättas senare genom att köra: dpkg --configure --pending.

-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 är de filer som 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 installerade uppackade paket som är markerade att tas bort eller rensas i filen /var/lib/dpkg/status att tas bort respektive rensas. Observera: fet är möjligt att dpkg inte känner till vissa konfigurationsfiler på grund av att de skapas och hanteras separat via konfigurationsskript. I så fall kommer inte dpkg självt ta bort dem, utan paketets postrm-skript (som anropas av dpkg) måste ta hand om att de tas bort när paketet tas bort med --purge. 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

--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 lättare enkelkommando för att hämta och uppdater available-filen är dselect update. Observera att den här filen i huvudsak är onödig om du använder ett APT-baserat skal istället för dselect: APT har ett eget system för att hålla reda på tillgängliga paket.

-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.

--forget-old-unavail
    En numera föråldrad flagga som inte utför någonting, då dpkg automatiskt glömmer ej installerade och ej tillgängliga paket.

--clear-avail
    Radera existerande information om vilka paket som är tillgängliga.

-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.

--get-selections [paketnamnsmönster...]
    Hämta en lista över paketval och skriv den till standard ut. Paket som inte är installerats (dvs. de som tidigare helt har tagits bort) kommer inte att visas om inte ett mönster anges.

--set-selections
    Sätt paketvalslistan med den fil som läses från standard in. Filen måste vara på formatet "<paket> <status>", där status är en av install, hold, deinstall eller purge. Tomrader och kommentarsrader som börjar med "#" är också tillåtna.

--clear-selections
    Sätt det önskade tillståndete för varje icke-grundläggande paket till avinstallera. Detta är avsett att användas direkt före --set-selections, för att avinstallera alla paket som inte finns med i listan som anges av --set-selections.

--yet-to-unpack
    Söker efter paket som markerats för installation men som av någon anledning ännu inte har installerats.

--print-architecture
    Visa arkitektur för paketen dpkg installerar (till exempel "i386").

--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: < << <= = >= >> >.

--command-fd <n>
    Läser en följd av kommandon från indatafilhandtag <n>. Observera: Ytterligare flaggor som sätts på kommandoraden, och genom filhandtaget, återställs inte för kommandon som körs i en följd under samma körning.

--help
    Visar en kortfattad hjälptext.

--force-help
    Get hjälp om --force-nånting-flaggorna.

-Dh, --debug=help
    Ger hjälp om felsökningsflaggorna.

--licence, --license
    Visar dpkgs licensvillkor.

--version
    Visar dpkgs versionsinformation.

dpkg-deb-åtgärder
    Se dpkg-deb(1) för ytterligare information om följande åtgärder:
    -b, --build katalog [arkiv|filnamn]
        Bygg ett deb-paket.
    -c, --contents arkiv
        Visar innehållet i ett deb-paket.
    -e, --control filnamn [katalog]
        Extraherar styrinformation från ett paket.
    -x, --extract arkivkatalog
        Extraherar filerna från ett paket.
    -X, --vextract arkivkatalog
        Extraherar och visar filnamnen i ett paket.
    -f, --field  arkiv [control-fält] ...
        Visar fält från paketets styrfil (control).
    --fsys-tarfile arkiv
        Visar filsystems-tarfilen i Debianpaketet.
    -I | --info arkiv [control-fil]
        Visa information om ett paket.

dpkg-query-åtgärder
    Se dpkg-query(1) för ytterligare information om följande åtgärder:
    -l, --list paketnamnsmönster ...
        Lista paket som matchar det givna mönstret.
    -s, --status paketnamn ...
        Rapportera status om det angivna paketet.
    -L, --listfiles paketnamn ...
        Lista filer som installerats på ditt system från paketnamn.
    -S, --search filnamnssökmönster ...
        Sök efter filnamnet bland de installerade paketen.
    -p, --print-avail paketnamn
        Visa detaljer om paketnamn, som i /var/lib/dpkg/available/.    De som använder APT-baserade skal bör i stället använda    apt-cache show paketnamn.

FLAGGOR
Alla flaggorna kan ges både på kommandoraden och i dpkgs konfigurationsfil /etc/dpkg/dpkg.cfg eller filerna i konfigurationskatalogen /etc/dpkg/dpkg.cfg.d/. 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 flaggan 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
      10000 Aktivering och hantering av utlösare
      20000 Massvis av utdata om utlösare
      40000 Dumma mängder utdata om utlösare
       1000 Massvis av pladder om bl.a dpkg/info-katalogen
       2000 Knäppa mängder pladder

--force-saker | --no-force-saker | --refuse-saker
    Tvinga eller vägra (no-force och refuse betyder detsamma) att göra vissa saker. saker är en kommaavgränsad lista med saker som anges nedan. --force-help visar en lista med beskrivningar. Saker som markeras med (*) är tvingade som förval. 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 flaggor. 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. breaks: Installera, även om det skulle förstöra ett annat paket. 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 åtgärden 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. Flaggan 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.

--admindir=kat
    Ändra förvald administrationskatalog, vilken innehåller flera filer som beskriver status för installerade eller avinstallerade paket, osv. (standardvärde är /var/lib/dpkg)

--instdir=katalog
    Ändra standardinstallationskatalog, vilket anger katalogen där paket skall installeras. instdir är även katalogen som skickas som argument till chroot(2) innan paketets installationsfiler körs, vilket betyder att skripten ser instdir som rotkatalog. (Förval är /)

--root=katalog
    Genom att ändra rot så ändras installationskatalog till katalog och administrationskatalog till katalog/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.

--pre-invoke=kommando
--post-invoke=kommando
    Sätter en anropshake kommando som körs via "sh -c" före eller efter dpkg körs för åtgärderna unpack, configure, instal, triggers-only, remove och purge. Flaggan kan anges flera gånger. Ordningen på flaggorna som anges behålls och de som anges i konfigurationsfilen har företräde. Miljövariabeln DPKG_HOOK_ACTION sätts för hakar i den nuvarande dpkg-åtgärden. Observera: Skal kan anropa dpkg flera gånger per körning, vilket kan göra att hakarna körs fler gånger än förväntat.

--status-fd n
    Sänd maskinläsbar paketstatus och förloppsinformation till filhandtag n. Flaggan kan anges flera gånger. Informationen lagras vanligtvis rad för rad, i följande format:

    status: paket: status
        Paketstatus ändrad; status är som i statusfilen.

    status: paket : error : utökat-felmeddelande
        Ett fel uppstod. Tyvärr kan utökat-felmeddelande för närvarande innehålla nyradstecken, även om i lokaler där översättarna inte har gjort några fel kommer varje nyradstecken att efterföljas av åtminstone ett nyradstecken.

    status: fil : konffil-fråga : 'riktig-gammal' 'riktig-ny' användarredigerad distredigerad
        Användaren får en fråga om konfigurationsfiler.

    processing: skede: paket
        Sänds precis innan ett hanteringsskede påbörjas. Skede är något av upgrade, install (båda sänds innan paketet packas upp), configure, trigproc, disappear, remove, purge.

--log=filnamn
    Logga statusändringsmeddelanden och kommandon till filnamn, istället för förvalet /var/log/dpkg.log. Om flaggan ges flera gånger används det sista filnamnet. Loggmeddelanden är på formen "ÅÅÅÅ-MM-DD HH:MM:SS status <tillstånd> <paket> <installerad-version>" för statusändringar; "ÅÅÅÅ-MM-DD HH:MM:SS <kommando> <paket> <installerad-version> <tillgänglig-version>" för kommandon där <kommando> är ett av install, upgrade, remove eller purge; samt "ÅÅÅÅ-MM-DD HH:MM:SS conffile <filnamn> <val>" för konfigurationsfilsändringar där <val antingen är install eller keep.

--no-debsig
    Försök inte verifiera paketsignaturer.

--no-triggers
    Utför inte utlösare i denna körning (aktiveringar kommer fortfarande att antecknas). Om det används tillsammans med --configure paket eller --triggers-only paket kommer det namngivna paketets postinst fortfarande att köras även om det enda som behövdes var en körning av utlösare. Om du använder denna flagga kan det hända att paket hamnar i felaktiga väntar på utlösare- och utlösare väntar-tillstånd. Detta kan rättas senare genom att köra: dpkg --configure --pending.

--triggers
    Överstyr ett tidigare --no-triggers.

FILER

/etc/dpkg/dpkg.cfg
    Konfigurationsfil med förvalda inställningar.

/var/log/dpkg.log
    Förvald loggfil (se /etc/dpkg/dpkg.cfg(5) och flaggan --log).

Ö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. Filen 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. Statusfilen säkerhetskopieras dagligen i /var/backups. Det kan vara nyttigt om den går förlorad eller skrivs sönder på grund av problem med filsystemet.

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 exekveras 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_RUNNING_VERSION
    Definieras av dpkg i utvecklarskriptets miljö till versionen av den instans av dpkg som körs för tillfället.

DPKG_MAINTSCRIPT_PACKAGE
    Definieras av dpkg i utvecklarskriptets miljö till namnet på paketet som hanteras.

DPKG_MAINTSCRIPT_ARCH
    Definieras av dpkg i utvecklarskriptets miljö till arkitekturen paketet byggdes för.

EXEMPEL
För att lista paket relaterade till textredigeringsprogrammet vi(1):
     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/pool/main/v/vim
     dpkg -i vim_4.5-3.deb
För att göra en lokal kopia av paketmarkeringarna:
     dpkg --get-selections >mitturval
Du kan överföra filen till en annan dator och installera den där genom att skriva:
     dpkg --clear-selections
     dpkg --set-selections <mitturval
Observera att detta faktiskt inte kommer installera eller ta bort någonting, utan bara sätta valstatus på de efterfrågade paketen. Du måste använda ett annat program för att faktiskt hämta och installera de efterfrågade paketen. Till exempel kan du köra apt-get dselect-upgrade. För normalt bruk kommer du att upptäcka att dselect(1) 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
aptitude(1), apt(1), dselect(1), dpkg-deb(1), dpkg-query(1), deb(5), deb-control(5), dpkg.cfg(5) och dpkg-reconfigure(8).

PROGRAMFEL
--no-act ger oftast mindre information än vad som vore hjälpsamt.

FÖRFATTARE
Se /usr/share/doc/dpkg/THANKS för listan över personer som har bidragit till dpkg.

ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.