dpkg(1)

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

dpkg(1) – Debian pakethanterare

OBS! DENNA SIDA ÄR EJ KOMPLETT

NAMN

dpkg – pakethanterare för Debian

SYNOPS

dpkg [optioner...] åtgärd

VARNING

Den här manualen riktar sig till användare som vill förstå dpkg:s kommandoradsalternativ och paketstatus på en djupare nivå än vad dpkg --help erbjuder.

Den bör inte användas av paketunderhållare som vill förstå hur dpkg kommer att installera deras paket. Beskrivningarna av vad dpkg gör vid installation och borttagning av paket är särskilt bristfälliga.

BESKRIVNING

dpkg är ett verktyg på mellannivå för att installera, bygga, ta bort och hantera Debianpaket. Det främsta och mer användarvänliga gränssnittet till dpkg är kommandoradsverktyget apt(8) och terminalgränssnittet aptitude(8). dpkg själv styrs helt via kommandoradsparametrar, vilka består av exakt en åtgärd och noll eller flera alternativ. Åtgärdsparametern anger vad dpkg ska göra och alternativen styr åtgärdens beteende.

dpkg kan även användas som ett gränssnitt till dpkg-deb(1) och dpkg-query(1). En lista över stödda åtgärder finns längre ner under avsnittet ÅTGÄRDER. Om en sådan åtgärd upptäcks kör dpkg bara dpkg-deb eller dpkg-query med angivna parametrar, men inga specifika alternativ skickas till dem. För att använda sådana alternativ måste dessa verktyg anropas direkt.

INFORMATION OM PAKET

dpkg lagrar användbar information om tillgängliga paket. Informationen delas in i tre kategorier: status, urvalsstatus och flaggor. Dessa värden ändras huvudsakligen med dselect.

Paketstatus

  • not-installed – Paketet är inte installerat.
  • config-files – Endast konfigurationsfiler eller postrm-skript med nödvändig data finns kvar.
  • half-installed – Installation påbörjad men ej avslutad.
  • unpacked – Paketet är uppackat men ej konfigurerat.
  • half-configured – Paketet är uppackat och konfiguration påbörjad, men ej avslutad.
  • triggers-awaited – Väntar på triggning från annat paket.
  • triggers-pending – Paketet har aktiverats för triggning.
  • installed – Paketet är korrekt installerat och konfigurerat.

Urvalsstatus

  • install – Paket valt för installation.
  • hold – Paket hålls kvar på samma version; inga automatiska ändringar sker om det inte explicit begärs eller tillåts med --force-hold.
  • deinstall – Paket valt för avinstallation (konfigurationsfiler behålls).
  • purge – Paket valt för total rensning (inklusive konfigurationsfiler).
  • unknown – Urvalsstatus är okänd och glöms vid nästa databasuppdatering.

Paketflaggor

  • ok – Paketet är i känd status men kan behöva vidare behandling.
  • reinstreq – Paketet är skadat och kräver ominstallation. Kräver --force-remove-reinstreq för borttagning.

ÅTGÄRDER

  • -i, --install paketfil...
Installerar paketet. Om --recursive eller -R används måste paketfil vara en katalog.
Installation:
  1. Extraherar kontrollfiler från nya paketet.
  2. Om annan version är installerad, kör dess prerm-skript.
  3. Kör preinst-skript från nya paketet (om sådant finns).
  4. Packar upp nya filer samtidigt som gamla säkerhetskopieras.
  5. Om annan version är installerad, kör dess postrm-skript (efter preinst-skript från nya paketet).
  6. Konfigurerar paketet (se --configure för detaljer).
  • --unpack paketfil...
Packar upp paketet utan att konfigurera. Om --recursive eller -R används måste paketfil vara en katalog. Hanterar triggers för Pre-Depends om inte --no-triggers anges.
  • --configure paket...|-a|--pending
Konfigurerar uppackade men ej konfigurerade paket. Om -a eller --pending ges, konfigureras alla sådana paket.
För att omkonfigurera ett redan konfigurerat paket, använd dpkg-reconfigure(8).
Konfiguration:
  1. Packar upp konfigurationsfiler samtidigt som gamla säkerhetskopieras.
  2. Kör postinst-skript (om sådant finns).
Hanterar triggers om inte --no-triggers anges.
  • --triggers-only paket...|-a|--pending
Utför endast triggers. Kan lämna paket i felaktiga tillstånd. Åtgärda med dpkg --configure --pending.
  • -r, --remove paket...|-a|--pending
Tar bort installerade paket utom konfigurationsfiler. Utförs med tre steg: prerm-skript körs, filer tas bort, postrm-skript körs.
  • -P, --purge paket...|-a|--pending
Tar bort installerade eller redan borttagna paket, inklusive konfigurationsfiler. Kräver två steg: borttagning om nödvändigt och körning av postrm-skript.
Vissa konfigurationsfiler som skapats separat kan behöva hanteras manuellt.
Hanterar triggers om inte --no-triggers anges.

Dpkg: Åtgärder och kommandon

-V, --verify [paketnamn...]

Verifierar integriteten för angivna paket eller alla paket om inget namn anges, genom att jämföra filinformationen från installerade filer med metadata från dpkg-databasen (sedan dpkg 1.17.2). Metadata samlas in från binära paket vid uppackning.

För närvarande kontrolleras endast filens innehåll via md5sum, förutsatt att databasen innehåller dessa md5sum. Använd kommandot --audit för att kontrollera eventuell saknad metadata. Observera att detta endast är en integritetskontroll och inte en säkerhetsverifiering.

Utdataformatet väljs med --verify-format och använder som standard rpm-formatet, men detta kan ändras i framtiden. Program som tolkar utdata bör därför explicit ange önskat format.

-C, --audit [paketnamn...]

Utför kontroll av dpkg-databasens konsistens och rimlighet för angivna paket eller alla paket om inget anges (per paket sedan dpkg 1.17.10). Söker exempelvis efter paket som är ofullständigt installerade, har saknade, felaktiga eller föråldrade kontrollfiler. dpkg ger förslag på åtgärder.

--update-avail [Packages-fil] och --merge-avail [Packages-fil]

Uppdaterar dpkg:s och dselect:s information om tillgängliga paket.

  • --merge-avail kombinerar gammal information med ny information från angiven Packages-fil.
  • --update-avail ersätter den gamla informationen helt med den nya.

Standardfilen i Debian heter Packages. Om ingen fil anges eller om argumentet är -, läses data från standard input (sedan dpkg 1.17.7). Information lagras i /usr/local/var/lib/dpkg/available.

För enklare uppdatering används dselect update. Notera att filen är mindre användbar med APT-baserade frontend-program, eftersom APT använder sitt eget system för tillgängliga paket.

-A, --record-avail paketfil...

Uppdaterar dpkg:s och dselect:s lista över tillgängliga paket med information från angiven paketfil. Med --recursive eller -R måste paketfilen vara en katalog.

--forget-old-unavail

Numera inaktuell och har ingen effekt, då dpkg automatiskt glömmer avinstallerade paket som saknar användarspecifika val (sedan dpkg 1.15.4).

--clear-avail

Raderar befintlig information om tillgängliga paket.

--get-selections [paketnamnsmönster...]

Skriver ut listan över paketval till standardutmatning (stdout). Utan mönster visas ej borttagna paket.

--set-selections

Anger paketval från standardinmatning (stdin). Formatet är ”paket status” där status är install, hold, deinstall eller purge. Tomma rader och kommentarer (börjar med #) är tillåtna.

Filen över tillgängliga paket måste vara aktuell, annars ignoreras okända paket med en varning. Se kommandona --update-avail och --merge-avail.

--clear-selections

Markerar alla icke-essentiella paket för avinstallation (sedan dpkg 1.13.18). Bör användas direkt innan --set-selections för att avinstallera paket som saknas i den nya listan.

--yet-to-unpack

Letar efter paket markerade för installation som av någon anledning ännu inte installerats. Använder både filen över tillgängliga paket och paketvalen.

--predep-package

Skriver ut ett paket som är mål för en eller flera pre-dependencies och själv saknar ouppfyllda pre-dependencies. Visar paketet i Packages-filformat.

Returnerar:

  • 0 – paket hittades och skrevs ut.
  • 1 – inget lämpligt paket hittades.
  • 2 – fel inträffade.

--add-architecture arkitektur

Lägger till en arkitektur i listan över arkitekturer vars paket kan installeras utan --force-architecture (sedan dpkg 1.16.2). Systemarkitekturen inkluderas alltid.

--remove-architecture arkitektur

Tar bort en arkitektur från listan, såvida den inte används av databasen (sedan dpkg 1.16.2). Kan tvingas med --force-architecture. Systemarkitekturen kan aldrig tas bort.

--print-architecture

Visar systemets arkitektur (exempelvis ”i386”).

--print-foreign-architectures

Visar en lista med extra arkitekturer som stöds (sedan dpkg 1.16.2).

--assert-feature

Kontrollerar stöd för specifika funktioner i dpkg.

  • 0 – stöds fullt ut.
  • 1 – känd funktion, ännu ej stödd.
  • 2 – okänd funktion.

Exempel på funktioner: support-predepends, working-epoch, long-filenames, multi-arch.

--validate-thing sträng

Kontrollerar syntaxen för angiven sträng (t.ex. paketnamn, version eller arkitektur). Returnerar 0 för giltig, 1 om giltig i slappa sammanhang och 2 om ogiltig.

--compare-versions ver1 op ver2

Jämför versionsnummer enligt operatorn (lt, le, eq, ne, ge, gt). Tom version kan behandlas som äldre eller nyare beroende på operator. Föråldrade operatorer är < och >.

--help, --version, --force-help, -Dh

Visar hjälp eller versionsinformation.


Sidslut

Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man1/dpkg.1.html


Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till PC Service som har sponsrat Linux.se med webbhotell.