Provided by: dpkg_1.19.7ubuntu3.2_amd64
NAAM
dpkg - pakketbeheerder voor Debian
OVERZICHT
dpkg [optie...] actie
WAARSCHUWING
Deze handleiding is bedoeld voor gebruikers die de commandoregelopties van dpkg en de pakkettoestanden meer in detail willen begrijpen dan met de info van dpkg --help mogelijk is. Zij zou niet gebruikt moeten worden door pakketonderhouders die willen begrijpen hoe dpkg hun pakketten installeert. De beschrijving van wat dpkg doet bij het installeren en verwijderen van pakketten is bijzonder inadequaat.
BESCHRIJVING
dpkg is gereedschap voor het installeren, bouwen, verwijderen en beheren van Debian pakketten. Het belangrijkste en meer gebruikersvriendelijke frontend voor dpkg is aptitude(1). dpkg zelf wordt volledig gestuurd via commandoregelparameters, die bestaan uit exact één actie en nul of meer opties. De actieparameter zegt dpkg wat het moet doen en de opties sturen in zekere zin het gedrag van de actie. dpkg kan ook gebruikt worden als een frontend voor dpkg-deb(1) en dpkg-query(1). De lijst van ondersteunde acties kunt u verderop in het onderdeel ACTIES vinden. Indien dpkg een dergelijke actie tegenkomt, voert het gewoon dpkg-deb of dpkg-query uit met de parameters die het meekreeg. Maar momenteel worden aan hen geen specifieke opties doorgegeven. Indien u een dergelijke optie wenst te gebruiken moet u deze programma's rechtstreeks gebruiken.
INFORMATIE OVER PAKKETTEN
dpkg houdt bruikbare informatie bij over beschikbare pakketten. De informatie wordt ingedeeld in drie klassen: states (toestand) , selection states (selectietoestand) en flags (vlaggen). Het is de bedoeling deze waarden hoofdzakelijk met behulp van dselect aan te passen. Pakketstatus not-installed (niet geïnstalleerd) Het pakket is niet op uw systeem geïnstalleerd. config-files (configuratiebestanden) Enkel de configuratiebestanden van het pakket bevinden zich op het systeem. half-installed (gedeeltelijk geïnstalleerd) De installatie van het pakket werd begonnen, maar om een of andere reden niet afgerond. unpacked (uitgepakt) Het pakket is uitgepakt, maar niet geconfigureerd. half-configured (gedeeltelijk geconfigureerd) Het pakket is uitgepakt en de configuratie werd aangevat, maar om een of andere reden niet afgerond. triggers-awaited (afhandeling triggers wordt afgewacht) Het pakket wacht het verwerken van triggers door een ander pakket af. triggers-pending (aanhangige triggers) Het pakket werd getriggerd. installed (geïnstalleerd) Het pakket werd correct uitgepakt en geconfigureerd. Pakketselectiestatus install (installeren) Het pakket werd geselecteerd om geïnstalleerd te worden. hold (te handhaven) Een pakket dat als te handhaven werd gemarkeerd, wordt niet behandeld door dpkg, tenzij het ertoe gedwongen wordt met de optie --force-hold. deinstall (de-installeren) Het pakket werd geselecteerd om gede-installeerd te worden (d.w.z. dat we alle bestanden wensen te verwijderen, op de configuratiebestanden na) purge (wissen) Het pakket werd geselecteerd om gewist te worden (d.w.z. dat we alles uit de systeemmappen wensen te verwijderen, zelfs de configuratiebestanden). unknown Het betreft een onbekende pakketselectie. Een pakket dat zich eveneens in de toestand not-installed (niet-geïnstalleerd) bevindt en een ok-vlag heeft, zal de volgende keer weggelaten worden bij het opslaan van de databank. Pakketvlaggen ok Een pakket dat als ok gemarkeerd staat bevindt zich in een gekende toestand, maar verdere afhandeling kan nog nodig zijn. reinstreq Een pakket dat als reinstreq gemarkeerd werd, is defect en moet opnieuw geïnstalleerd worden. Deze pakketten kunnen niet verwijderd worden, tenzij dit met de optie --force-remove-reinstreq geforceerd wordt.
ACTIES
-i, --install pakketbestand... Installeer het pakket. Indien de optie --recursive of -R opgegeven werd, moet pakketbestand evenwel naar een map verwijzen. Een installatie bestaat uit de volgende stappen: 1. Het extraheren van de controle-bestanden van het nieuwe pakket. 2. Indien voorafgaand aan de nieuwe installatie een andere versie van hetzelfde pakket geïnstalleerd was, het prerm-script van het oude pakket uitvoeren. 3. Indien het pakket een preinst-script meelevert, dat uitvoeren. 4. Het uitpakken van de nieuwe bestanden en tegelijk een reservekopie van de oude bestanden maken, zodat ze hersteld kunnen worden mocht er iets fout lopen. 5. Indien voorafgaand aan de nieuwe installatie een andere versie van hetzelfde pakket geïnstalleerd was, het postrm-script van het oude pakket uitvoeren. Merk op dat dit script uitgevoerd wordt na het preinst-script van het nieuwe pakket, omdat nieuwe bestanden neergeschreven worden tegelijk met het verwijderen van oude bestanden. 6. Het configureren van het pakket. Zie --configure voor gedetailleerde informatie over hoe dit gebeurt. --unpack pakketbestand... Pak het pakket uit, maar configureer het niet. Indien de optie --recursive of -R opgegeven werd, moet pakketbestand evenwel naar een map verwijzen. --configure pakket...|-a|--pending Configureer een pakket dat uitgepakt, maar nog niet geconfigureerd werd. Indien echter -a of --pending opgegeven wordt in plaats van pakket, worden alle uitgepakte maar niet-geconfigureerde pakketten geconfigureerd. Om een pakket dat reeds geconfigureerd werd opnieuw te configureren, moet u echter het commando dpkg-reconfigure(8) gebruiken. Het configureren bestaat uit de volgende stappen: 1. Het uitpakken van de conffiles (configuratiebestanden) en tegelijk een reservekopie maken van de oude conffiles, zodat ze hersteld kunnen worden mocht er iets fout lopen. 2. Indien het pakket een postinst-script meelevert, dat uitvoeren. --triggers-only pakket...|-a|--pending Verwerkt enkel triggers (sinds dpkg 1.14.17). Alle aanhangige triggers zullen verwerkt worden. Indien pakketnamen opgegeven werden, zullen enkel de triggers van die pakketten verwerkt worden, elk exact eenmaal waar nodig. Het gebruiken van deze optie kan pakketten achterlaten in een ongepaste toestand van triggers-awaited (wachten op triggerafhandeling) of triggers-pending (aanhangige triggers). Dit kan later gerepareerd worden door het uitvoeren van dpkg --configure --pending. -r, --remove pakket...|-a|--pending Een geïnstalleerd pakket verwijderen. Dit verwijdert alles behalve de conffiles (configuratiebestanden) en andere gegevens die opgeruimd worden door het script postrm, waardoor vermeden kan worden dat het pakket opnieuw geconfigureerd moet worden als het opnieuw geïnstalleerd wordt (conffiles zijn configuratiebestanden die vermeld worden in het controlebestand DEBIAN/conffiles). Indien er geen controlebestand DEBIAN/conffiles en geen script DEBIAN/postrm bestaat, is dit commando equivalent met het aanroepen van --purge. Indien -a of --pending opgegeven werd in plaats van een pakketnaam, zullen alle pakketten die uitgepakt zijn maar in het bestand /var/lib/dpkg/status gemarkeerd staan om verwijderd te worden, verwijderd worden. Het verwijderen van een pakket bestaat uit de volgende stappen: 1. Het uitvoeren van het prerm-script 2. Het verwijderen van de geïnstalleerde bestanden 3. Het uitvoeren van het postrm-script -P, --purge pakket...|-a|--pending Een geïnstalleerd of een reeds verwijderd pakket wissen. Dit verwijdert alles, inclusief conffiles (configuratiebestanden) en alles wat anders opgeruimd wordt vanuit postrm. Indien -a of --pending opgegeven werd in plaats van een pakketnaam, dan zullen alle uitgepakte of verwijderde pakketten die echter in het bestand /var/lib/dpkg/status gemarkeerd zijn om gewist te worden, gewist worden. Merk op: sommige configuratiebestanden kunnen niet gekend zijn door dpkg omdat ze via de configuratiescripts gecreëerd en afzonderlijk afgehandeld worden. In dat geval zal dpkg ze niet zelf verwijderen, maar het postrm-script van het pakket (dat door dpkg geactiveerd wordt) moet tijdens een wis-operatie voor hun verwijdering zorgen. Dit is uiteraard enkel van toepassing op bestanden in systeemmappen, niet op configuratiebestanden die neergeschreven werden in de persoonlijke map van gebruikers. Het wissen van een pakket bestaat uit de volgende stappen: 1. Het verwijderen van het pakket als het nog niet verwijderd was. Zie --remove voor gedetailleerde informatie over hoe dit gebeurt. 2. Het uitvoeren van het postrm-script -V, --verify [pakketnaam...] Controleert de integriteit van pakketnaam of van alle pakketten indien er geen naam opgegeven werd. De controle gebeurt door een vergelijking te maken van informatie uit de bestanden die door een pakket geïnstalleerd worden met de metadata-informatie over die bestanden die in de database van dpkg opgeslagen is (sinds dpkg 1.17.2). De metadata-informatie over die bestanden in de database is afkomstig van het binaire pakket zelf. Die metadata worden verzameld tijdens het installatieproces op het moment van het uitpakken van het pakket. Momenteel is de enige functionele toets die uitgevoerd wordt, een verificatie van de md5-controlesom van de inhoud van het bestand tegenover de opgeslagen waarde in de bestandsdatabase. De toets wordt enkel uitgevoerd als de database de md5-controlesom van het bestand bevat. Om na te gaan of er eventueel metadata ontbreken in de database, kan het commando --audit gebruikt worden. De indeling van de uitvoer kan met de optie --verify-format gekozen worden. Standaard wordt de indeling rpm gebruikt, maar dit kan in de toekomst veranderen en om die reden zouden programma's die de uitvoer van dit commando ontleden, expliciet moeten aangeven welke indeling zij verwachten. -C, --audit [pakketnaam...] Voert op de database correctheids- en consistentietoetsen uit met betrekking tot pakketnaam of alle pakketten als er geen pakketnaam opgegeven werd (individuele pakkettoetsen sinds dpkg 1.17.10). Voorbeelden zijn: zoeken naar pakketten die slechts gedeeltelijk geïnstalleerd werden op uw systeem of met ontbrekende, foute of verouderde controlegegevens of -bestanden. dpkg zal een suggestie geven over wat er te doen staat om ze te repareren. --update-avail [Packages-bestand] --merge-avail [Packages-bestand] Werk de kennis bij van dpkg en dselect over welke pakketten beschikbaar zijn. Bij de actie --merge-avail wordt oude informatie gecombineerd met informatie uit het Packages-bestand. Bij de actie --update-avail wordt de oude informatie vervangen door de informatie uit het Packages-bestand. Het Packages-bestand dat door Debian verdeeld wordt, heeft gewoon «Packages» als naam. Indien het argument Packages-bestand ontbreekt of «-» als naam heeft, zal het gelezen worden van de standaardinvoer (sinds dpkg 1.17.7). dpkg houdt zijn overzicht van beschikbare pakketten bij in /var/lib/dpkg/available. Een eenvoudiger commando om in één keer het bestand available op te halen en bij te werken is dselect update. Merk op dat dit bestand grotendeels nutteloos is als u niet dselect gebruikt, maar een op APT gebaseerd frontend: APT heeft zijn eigen systeem om zicht te houden op de beschikbare pakketten. -A, --record-avail pakketbestand... Werk de kennis van dpkg en dselect over welke pakketten beschikbaar zijn, bij met informatie uit het pakket pakketbestand. Indien de optie --recursive of -R opgegeven werd, moet pakketbestand evenwel verwijzen naar een map. --forget-old-unavail Nu verouderd en een bewerkingsloze opdracht aangezien dpkg automatisch geen kennis meer heeft van gede-installeerde niet-beschikbare pakketten (sinds dpkg 1.15.4), maar enkel van die welke geen gebruikersinformatie, zoals pakketselecties, bevatten. --clear-avail Wis de huidige informatie over de beschikbaarheid van pakketten. --get-selections [pakketnaampatroon...] Haal de lijst van pakketselecties op en schrijf die naar de standaarduitvoer. Als geen patroon opgegeven wordt, zullen niet-geïnstalleerde pakketten (d.w.z. die welke voordien gewist werden) niet getoond worden. --set-selections Stel pakketselecties in met behulp van het bestand dat van de standaardinvoer gelezen wordt. Dit bestand moet als indeling “pakket status” hebben, waarbij status install (installeren), hold (te handhaven), deinstall (de-installeren) of purge (wissen) kan zijn. Lege regels en commentaarregels die met ‘#’ beginnen, zijn ook toegelaten. Het bestand available moet up-to-date zijn opdat dit commando dienstig zou zijn, anders zullen niet-gekende pakketten genegeerd worden en zal er in dat verband een waarschuwing gegeven worden. Zie de commando's --update-avail en --merge-avail voor meer informatie. --clear-selections Stel de aangevraagde status voor elk niet-essentieel pakket in op deinstall (de-installeren) (sinds dpkg 1.13.18). Dit is bedoeld om gebruikt te worden onmiddellijk voor --set-selections om eventuele pakketten te de-installeren die niet in de lijst staan die doorgegeven wordt aan --set-selections. --yet-to-unpack Zoekt pakketten op die geselecteerd werden om geïnstalleerd te worden, maar die om één of andere reden nog niet geïnstalleerd werden. Merk op: dit commando maakt zowel gebruik van het bestand available als van de pakketselectie. --predep-package Toon één enkel pakket dat het doel is van een of meer relevante voorafgaande vereisten en dat zelf geen niet-voldane voorafgaande vereisten heeft. Indien er een dergelijk pakket is, geef het dan weer in de vorm van een item voor het bestand Packages dat passend verder bewerkt kan worden. Merk op: dit commando maakt zowel gebruik van het bestand available als van de pakketselectie. Geeft 0 terug als een pakket weergegeven werd, 1 als geen geschikt pakket te vinden is en 2 in geval van een fout. --add-architecture architectuur Voeg architectuur toe aan de lijst van architecturen waarvoor pakketten geïnstalleerd kunnen worden zonder --force-architecture te gebruiken (sinds dpkg 1.16.2). De architectuur waarvoor dpkg gebouwd werd (d.w.z. de uitvoer van --print-architecture), maakt steeds deel uit van die lijst. --remove-architecture architectuur Verwijder architectuur uit de lijst van architecturen waarvoor pakketten geïnstalleerd kunnen worden zonder --force-architecture te gebruiken (sinds dpkg 1.16.2). Indien de architectuur momenteel in de database in gebruik is, dan zal deze operatie geweigerd worden, behalve wanneer --force-architecture opgegeven wordt. De architectuur waarvoor dpkg gebouwd werd (d.w.z. de uitvoer van --print-architecture), kan nooit uit die lijst verwijderd worden. --print-architecture Toon de architectuur van de pakketten die dpkg installeert (bijvoorbeeld “i386”). --print-foreign-architectures Toon een lijst, met regeleindes als scheidingsteken, van de bijkomende architecturen waarvoor pakketten mogen geïnstalleerd worden volgens de configuratie van dpkg (sinds dpkg 1.16.2). --assert-functionaliteit Bevestigt dat dpkg de gevraagde functionaliteit ondersteunt. Geeft de waarde 0 terug als de functionaliteit volledig ondersteund wordt, 1 als de functionaliteit gekend is maar dpkg er nog geen ondersteuning voor kan bieden en 2 als de functionaliteit niet gekend is. De huidige lijst van functionaliteiten die kunnen bevestigd worden, is: support-predepends Biedt ondersteuning voor het veld Pre-Depends (sinds dpkg 1.1.0). working-epoch Biedt ondersteuning voor epoches in versietekenreeksen (sinds dpkg 1.4.0.7). long-filenames Biedt ondersteuning voor lange bestandsnamen in archieven van het type deb(5) (sinds dpkg 1.4.1.17). multi-conrep Biedt ondersteuning voor meervoudige Conflicts (tegenstrijdig met) en Replaces (vervangt) (sinds dpkg 1.4.1.19). multi-arch Biedt ondersteuning voor multi-architectuurvelden en hun semantiek (sinds dpkg 1.16.2). versioned-provides Biedt ondersteuning voor versiespecifieke Provides (voorziet in) (sinds dpkg 1.17.11). --validate-ding tekenreeks De juistheid van de syntaxis van ding tekenreeks valideren (sinds dpkg 1.18.16). Geeft waarde 0 terug als de tekenreeks geldig is, waarde 1 als de tekenreeks ongeldig is, maar in een lakse context aanvaard kan worden en waarde 2 als de tekenreeks ongeldig is. De huidige lijst van dingen die gevalideerd kunnen worden, omvat: pkgname Valideert de opgegeven pakketnaam (sinds dpkg 1.18.16). trigname Valideert de opgegeven triggernaam (sinds dpkg 1.18.16). archname Valideert de opgegeven architectuurnaam (sinds dpkg 1.18.16). version Valideert de opgegeven versie (sinds dpkg 1.18.16). --compare-versions ver1 op ver2 Vergelijk versienummers, waarbij op een binaire operator is. dpkg geeft de waarde waar (0) terug indien voldaan werd aan de opgegeven conditie, en onwaar (1) in het andere geval. Er zijn twee groepen operatoren, die van elkaar verschillen in de manier waarop zij omgaan met een lege ver1 of ver2. Voor de volgende operatoren komt een lege versie voor elke andere versie: lt le eq ne ge gt. Voor de volgende operatoren komt een lege versie na elke andere versie: lt-nl le-nl ge-nl gt-nl. In de volgende operatoren wordt enkel voorzien met het oog op compatibiliteit met de syntaxis van het bestand control: < << <= = >= >> >. De operatoren < en > zijn verouderd en zouden omwille van de verwarrende semantiek niet gebruikt mogen worden. Om dit te illustreren: 0.1 < 0.1 wordt als waar beoordeeld. -?, --help Geef een korte hulptekst weer. --force-help Geef hulp over de opties --force-iets. -Dh, --debug=help Geef hulp over debug-opties. --version Geef versie-informatie over dpkg. dpkg-deb acties Zie dpkg-deb(1) voor meer informatie over de volgende acties. -b, --build map [archief|map] Bouw een deb-pakket. -c, --contents archief Geef de inhoud van een deb-pakket weer. -e, --control archief [map] Extraheer de controle-informatie uit een pakket. -x, --extract archief map Extraheer de bestanden die een pakket bevat. -X, --vextract archief map Extraheer de bestandsnamen die een pakket bevat en geef ze weer. -f, --field archief [controleveld...] Geef controleveld(en) van een pakket weer. --ctrl-tarfile archief Schrijf het controle-tar-bestand dat een Debian pakket bevat, weg. --fsys-tarfile archief Schrijf het bestandssysteem-tar-bestand dat een Debian pakket bevat, weg. -I, --info archief [controlebestand...] Toon informatie over een pakket. dpkg-query acties Zie dpkg-query(1) voor meer informatie over de volgende acties. -l, --list pakketnaampatroon... Som de pakketten op die aan het opgegeven patroon beantwoorden. -s, --status pakketnaam... Rapporteer de status van het opgegeven pakket. -L, --listfiles pakketnaam... Som de bestanden op die uit pakketnaam op uw systeem geïnstalleerd worden. -S, --search bestandsnaamzoekpatroon... Zoek naar een bestandsnaam uit een geïnstalleerd pakket. -p, --print-avail pakketnaam... Geef over pakketnaam de details weer die te vinden zijn in /var/lib/dpkg/available. Gebruikers van op APT gebaseerde frontends moeten in plaats hiervan apt-cache show pakketnaam gebruiken.
OPTIES
Alle opties kunnen zowel aan de commandoregel opgegeven worden als in het dpkg configuratiebestand /etc/dpkg/dpkg.cfg of in fragmentbestanden (met namen die overeenkomen met het shellpatroon '[0-9a-zA-Z_-]*') in de configuratiemap /etc/dpkg/dpkg.cfg.d/. Elke regel in het configuratiebestand is ofwel een optie (exact hetzelfde als de commandoregeloptie maar zonder de verbindingstekens aan het begin) of een commentaar (als hij begint met een ‘#’). --abort-after=aantal Pas aan na hoeveel fouten dpkg moet afbreken. Standaard is dat 50. -B, --auto-deconfigure Het is mogelijk dat wanneer een pakket verwijderd wordt, een ander geïnstalleerd pakket het verwijderde pakket nodig heeft. Deze optie gebruiken heeft tot gevolg dat het pakket dat van het verwijderde pakket afhankelijk was, automatisch gedeconfigureerd wordt. -Doctaal, --debug=octaal Schakel debuggen in. octaal wordt gevormd door de gewenste waarden uit de onderstaande lijst in een bitwise OR-bewerking samen te nemen (merk op dat deze waarden in toekomstige uitgaven kunnen veranderen). -Dh of --debug=help geeft deze debugwaarden weer. Getal Beschrijving 1 Algemene informatieve voortgangsinformatie 2 Activering en status van beheerdersscripts 10 Uitvoer voor elk verwerkt bestand 100 Veel uitvoer voor elk verwerkt bestand 20 Uitvoer voor elk configuratiebestand 200 Veel uitvoer voor elk configuratiebestand 40 Vereisten en tegenstrijdigheden 400 Veel uitvoer i.v.m. vereisten/tegenstrijdigheden 10000 Activatie en verwerking van triggers 20000 Veel uitvoer i.v.m. triggers 40000 Belachelijk veel uitvoer i.v.m. triggers 1000 Veel geleuter over bijv. de map dpkg/info 2000 Belachelijk veel geleuter --force-dingen --no-force-dingen, --refuse-dingen Het uitvoeren van sommige dingen opleggen of weigeren (no-force en refuse betekenen hetzelfde). dingen is een door komma's gescheiden lijst van hierna gespecificeerde zaken. --force-help geeft er een beschrijving van weer. Zaken die met een (*) gemarkeerd zijn, worden standaard opgelegd. Waarschuwing: Deze opties zijn vooral bedoeld om enkel door experts gebruikt te worden. Er gebruik van maken zonder een volkomen begrip van hun effecten kan uw volledig systeem defect maken. all: Schakelt alle forceer-opties aan (of uit). downgrade(*): Een pakket installeren, zelfs als reeds een nieuwere versie ervan geïnstalleerd is. Waarschuwing: Momenteel voert dpkg geen enkele vereistencontrole uit bij degradaties en zal dan ook niet waarschuwen indien een degradatie een vereiste van een ander pakket defect maakt. Dit kan ernstige neveneffecten hebben. Degraderen van essentiële componenten van het systeem kan zelfs uw hele systeem onbruikbaar maken. Te gebruiken met voorzichtigheid. configure-any: Ook elk uitgepakt maar niet-geconfigureerd pakket waarvan het huidige pakket afhankelijk is, configureren. hold: Ook pakketten verwerken die met “hold” (te handhaven) gemarkeerd zijn. remove-reinstreq: Een pakket verwijderen, zelfs als het defect is en er aangegeven staat dat een herinstallatie nodig is. Dit kan bijvoorbeeld tot gevolg hebben dat delen van het pakket op het systeem achterblijven, maar dpkg zal er dan niet meer van op de hoogte zijn. remove-essential: Het pakket verwijderen, zelfs al wordt het als essentieel beschouwd. Essentiële pakketten bevatten meestal hele basale Unix commando's. Ze verwijderen kan tot gevolg hebben dat het hele systeem stopt met werken. Gebruik dit dus met voorzichtigheid. depends: Alle vereistenproblemen omzetten in waarschuwingen. Dit heeft invloed op de velden Pre-Depends en Depends. depends-version: Zich niet om versies bekommeren bij het toetsen van vereisten. Dit heeft invloed op de velden Pre-Depends en Depends. breaks: Installeren, zelfs als dit een ander pakket defect zou maken (sinds dpkg 1.14.6). Dit heeft invloed op het veld Breaks. conflicts: Installeren, zelfs als er een tegenstelling is met een ander pakket. Dit is gevaarlijk, want gewoonlijk zal dit het overschrijven van bepaalde bestanden tot gevolg hebben. Dit heeft invloed op het veld Conflicts. confmiss: Zonder vragen steeds het ontbrekende conffile (configuratiebestand) installeren. Dit is gevaarlijk, aangezien het betekent dat een verandering die aan een bestand aangebracht werd (het verwijderen ervan), niet behouden wordt. confnew: Als een conffile (configuratiebestand) aangepast werd en de versie uit het pakket gewijzigd werd, dan steeds zonder vragen de nieuwe versie installeren, tenzij ook --force-confdef opgegeven werd. In dat geval wordt de voorkeur gegeven aan de standaardactie. confold: Als een conffile (configuratiebestand) aangepast werd en de versie uit het pakket gewijzigd werd, dan steeds zonder vragen de oude versie behouden, tenzij ook --force-confdef opgegeven werd. In dat geval wordt de voorkeur gegeven aan de standaardactie. confdef: Als een conffile (configuratiebestand) aangepast werd en de versie uit het pakket gewijzigd werd, dan steeds zonder vragen voor de standaardactie kiezen. Indien er geen standaardactie is, zal het programma stoppen en de gebruiker een vraag stellen, tenzij ook --force-confnew of --force-confold opgegeven werd. In dat geval zal het dit gebruiken om over de uiteindelijke actie te beslissen. confask: Als een conffile (configuratiebestand) aangepast werd, altijd aanbieden om het te vervangen door de versie uit het pakket, ook al werd de versie uit het pakket niet gewijzigd (sinds dpkg 1.15.8). Indien ook een van de opties --force-confnew, --force-confold of --force-confdef opgegeven werd, zal het die gebruiken om over de uiteindelijke actie te beslissen. overwrite: Een bestand van een pakket overschrijven met het bestand van een ander pakket. overwrite-dir: Een map van een pakket overschrijven met het bestand van een ander pakket. overwrite-diverted: Een omgeleid bestand overschrijven met een niet-omgeleide versie. statoverride-add: Bij het toevoegen ervan een bestaande statusmodificatie overschrijven (sinds dpkg 1.19.5). statoverride-remove: Bij het verwijderen ervan een ontbrekende statusmodificatie negeren (sinds dpkg 1.19.5). security-mac(*): Bij het installeren van bestanden op het bestandssysteem gebruik maken van platformspecifieke beveiliging, gebaseerd op Mandatory Access Controls (MAC) (since dpkg 1.19.5). Op Linux-systemen gebruikt de implementatie SELinux. unsafe-io: Bij het uitpakken geen veilige I/O-operaties uitvoeren (sinds dpkg 1.15.8.6). Momenteel houdt dit in dat geen bestandssysteemsynchronisatie gebeurt vooraleer bestanden hernoemd worden. Daarvan is geweten dat dit op sommige bestandssystemen tot aanzienlijk slechtere prestaties leidt, en dit jammer genoeg vooral op die bestandssystemen die veilige I/O het meest nodig hebben omwille van hun onbetrouwbaar gedrag, hetgeen bij abrupte systeemcrashes aanleiding kan geven tot bestanden met lengte zero. Opmerking: Overweeg liever om voor ext4, de belangrijkste betrokkene, gebruik te maken van de aankoppeloptie nodelalloc, waardoor zowel het prestatieverlies als de problemen inzake de betrouwbaarheid van gegevens opgevangen worden. Dit laatste door er voor te zorgen dat het bestandssysteem geen bestanden aanmaakt met lengte zero als er zich een abrupte crash voordoet en software actief is die geen synchronisatie uitvoert voorafgaand aan een atomische hernoeming. Waarschuwing: Het gebruik van deze optie kan de prestaties verbeteren ten koste van het verlies van gegevens. Gebruik ze behoedzaam. script-chrootless: De scripts van de pakketonderhouder uitvoeren zonder te chroot(2)en naar instdir, zelfs als het pakket deze werkwijze niet ondersteunt (sinds dpkg 1.18.5). Waarschuwing: Dit kan uw computersysteem vernietigen, gebruik dit uiterst behoedzaam. architecture: Pakketten verwerken, zelfs als ze de verkeerde of geen architectuur hebben. bad-version: Pakketten verwerken, zelfs als ze een verkeerde versie hebben (sinds dpkg 1.16.1). bad-path: In PATH ontbreken belangrijke programma's, waardoor het waarschijnlijk is dat er zich problemen zullen voordoen. not-root: Proberen om zaken te (de-)installeren, zelfs in opdracht van een niet-systeembeheerder. bad-verify: Een pakket installeren, zelfs als de authenticiteitscontrole mislukt. --ignore-depends=pakket,... Voor de opgegeven pakketten het toetsen van afhankelijkheden negeren (eigenlijk wordt de controle wel uitgevoerd, maar er worden enkel waarschuwingen in verband met tegenstrijdigheden gegeven en verder niets). Dit heeft invloed op de velden Pre-Depends, Depends en Breaks. --no-act, --dry-run, --simulate Alles wat gedaan moet worden, uitvoeren, maar geen veranderingen wegschrijven. Dit wordt gebruikt om te zien wat er bij de opgegeven actie zou gebeuren, zonder dat er effectief iets gewijzigd wordt. Zorg ervoor om --no-act voor de actie-parameter op te geven, anders zou u ongewenste resultaten kunnen bekomen. (bijvoorbeeld zal dpkg --purge foo --no-act eerst pakket foo wissen en dan proberen pakket --no-act te wissen, ook al verwachtte u wellicht dat er niets gedaan zou worden) -R, --recursive Alle gewone bestanden die beantwoorden aan het patroon *.deb, recursief behandelen in de opgegeven mappen en al hun onderliggende mappen. Dit kan gebruikt worden samen met de acties -i, -A, --install, --unpack en --record-avail. -G Een pakket niet installeren als reeds een nieuwere versie van dat pakket geïnstalleerd is. Dit is een alias voor --refuse-downgrade. --admindir=map De administratieve map instellen op directory. In deze map zitten veel bestanden met informatie over de status van geïnstalleerde of gede-installeerde pakketten, enz. Standaard is dat «/var/lib/dpkg» --instdir=map Instellen van de installatiemap, welke de map aangeeft waarin pakketten geïnstalleerd zullen worden. instdir is ook de map die aan chroot(2) doorgegeven wordt vooraleer de installatiescripts van een pakket uitgevoerd worden, waardoor de scripts instdir als de hoofdmap beschouwen. Standaard is dat «/» --root=map De hoofdmap instellen op directory, hetgeen de installatiemap instelt op «map» en de administratieve map op «map/var/lib/dpkg». -O, --selected-only Enkel de pakketten verwerken welke geselecteerd werden om geïnstalleerd te worden. Het eigenlijke markeren gebeurt door dselect of door dpkg als het de pakketten behandelt. Als bijvoorbeeld een pakket verwijderd wordt, zal het als geselecteerd om verwijderd te worden gemarkeerd worden. -E, --skip-same-version Het pakket niet installeren als dezelfde versie van dat pakket reeds geïnstalleerd is. --pre-invoke=commando --post-invoke=commando Instellen dat een uitbreiding (hook) commando via “sh -c” moet uitgevoerd worden voor of na het uitvoeren van dpkg bij de acties unpack, configure, install, triggers-only, remove, purge, add-architecture en remove-architecture van dpkg (sinds dpkg 1.15.4 en de acties add-architecture en remove-architecture (sinds dpkg 1.17.19). Deze optie kan meermaals opgegeven worden. De volgorde waarin de opties opgegeven worden, wordt behouden, waarbij deze uit de configuratiebestanden voorrang hebben. De omgevingsvariabele DPKG_HOOK_ACTION wordt ingesteld voor de uitbreidingen (hooks) bij de huidige actie van dpkg. Merk op dat frontends die uitgevoerd worden, dpkg meermaals kunnen activeren, waardoor de uitbreidingen meer keren dan verwacht uitgevoerd kunnen worden. --path-exclude=glob-patroon --path-include=glob-patroon Het glob-patroon bij het installeren instellen als een filter voor paden, ofwel door paden die aan het opgegeven patroon beantwoorden, uit te sluiten ofwel door eerder uitgesloten paden opnieuw toe te voegen (sinds dpkg 1.15.8). Waarschuwing: houd er rekening mee dat u, afhankelijk van de paden die uitgesloten worden, uw systeem volledig defect kunt maken. Gebruik dit behoedzaam. In de glob-patronen kunnen dezelfde jokertekens gebruikt worden als in de shell, waarbij ‘*’ overeenkomt met om het even welke reeks tekens, met inbegrip van de lege tekenreeks evenals van ‘/’. Bijvoorbeeld, «/usr/*/READ*» komt overeen met «/usr/share/doc/package/README». Zoals gebruikelijk komt ‘?’ overeen met één willekeurig teken (opnieuw met inbegrip van ‘/’). En ‘[’ geeft het begin aan van een klasse van tekens, die een lijst van tekens, bereiken of complementaties kan bevatten. Zie glob(7) voor gedetailleerde informatie over het gebruik van glob-patronen. Merk op dat het mogelijk is dat de huidige implementatie meer mappen en symbolische koppelingen terug toevoegt dan nodig is. Dit is om op veilig te spelen en mogelijke mislukkingen bij het uitpakken te vermijden. In de toekomst kan eraan gewerkt worden om dit te verbeteren. Dit kan gebruikt worden om alle paden te verwijderen op enkele specifieke paden na. Een typische casus is: --path-exclude=/usr/share/doc/* --path-include=/usr/share/doc/*/copyright om alle documentatiebestanden op de copyrightbestanden na te verwijderen. Deze twee opties kunnen meermaals opgegeven en afwisselend ingevoegd worden. Ze worden allebei in de opgegeven volgorde verwerkt, waarbij de laatste regel die een overeenkomst met een bestandsnaam oplevert, de uiteindelijke beslissing geeft. De filters worden toegepast bij het uitpakken van de binaire pakketten en hebben als zodanig enkel weet van het type object dat op dat ogenblik gefilterd wordt (bijv. een gewoon bestand of een map) en hebben geen zicht op welke objecten nadien zullen komen. Omdat deze filters neveneffecten hebben (in tegenstelling tot find(1)-filters), zal het uitsluiten van een exacte padnaam, die toevallig een map-object, zoals /usr/share/doc, blijkt te zijn, niet het gewenste effect hebben en zal enkel die padnaam uitgesloten worden (die automatisch terug toegevoegd kan worden als de code dit noodzakelijk acht). Van alle erop volgende bestanden die zich in die mappen bevinden, zal het uitpakken mislukken. Suggestie: zorg ervoor dat de glob-patronen niet weggewerkt worden door uw shell. --verify-format naam-van-indeling Stelt de indeling in van de uitvoer van het commando --verify (sinds dpkg 1.17.2). Momenteel is rpm de enige ondersteunde indeling van de uitvoer. Ze bestaat uit een regel voor elk pad waarvoor een toets mislukte. De regels beginnen met 9 tekens om van iedere specifieke toets het resultaat te rapporteren, waarbij een ‘?’ betekent dat de toets niet uitgevoerd kon worden (ontbrekende ondersteuning, bestandspermissies, enz.), een ‘.’ betekent dat de toets slaagde en een alfanumeriek teken betekent dat een specifieke toets mislukte. Een mislukte toets van de md5-controlesom (de inhoud van het bestand werd gewijzigd) wordt aangegeven met een ‘5’ op de plaats van het derde teken. De regel wordt gevolgd door een spatie en een attribuutteken (momenteel ‘c’ voor conffiles (configuratiebestanden)), nog een spatie en de padnaam. --status-fd n Status- en voortgangsinformatie die leesbaar is voor machines naar bestandsindicator n sturen. Deze optie kan meermaals opgegeven worden. Meestal wordt de informatie met één item per regel weergegeven in een van de volgende vormen: status: pakket: status De status van het pakket wijzigde. status is zoals in het statusbestand. status: pakket : error : omstandig-foutbericht Er trad een fout op. Eventuele regeleindes in het omstandig-foutbericht zullen voor de uitvoer omgezet worden naar spaties. status: bestand : conffile-prompt : 'echt-oud' 'echt-nieuw' door-gebruiker-bewerkt door-distributie-bewerkt Er wordt een vraag in verband met een conffile (configuratiebestand) gesteld aan de gebruiker. processing: fase: pakket Verzonden juist voor het begin van een verwerkingsfase. fase is een van de volgende: upgrade, install (beide verzonden voor het uitpakken), configure, trigproc, disappear, remove, purge. --status-logger=commando Door een machine te lezen informatie over pakketstatus en voortgang versturen naar de standaardinvoer van het shell-commando commando dat via “sh -c” moet uitgevoerd worden (sinds dpkg 1.16.0). Deze optie kan meermaals opgegeven worden. De indeling van de uitvoer is dezelfde als bij --status-fd. --log=bestandsnaam Updates van toestandswijzigingen en acties loggen in bestandsnaam in plaats van in het standaardlogbestand /var/log/dpkg.log. Indien deze optie meerdere keren opgegeven wordt, wordt de laatst opgegeven bestandsnaam gebruikt. Log-berichten zijn in de volgende vorm: YYYY-MM-DD HH:MM:SS startup type commando Voor elke aanroep van dpkg waarbij type ofwel archives (met een commando unpack of install) is ofwel packages (met een commando configure, triggers-only, remove of purge). YYYY-MM-DD HH:MM:SS status toestand pkt geïnstalleerde-versie Voor updates van toestandswijzigingen. YYYY-MM-DD HH:MM:SS actie pkt geïnstalleerde-versie beschikbare-versie Voor acties waarbij actie een van de volgende is: install, upgrade, configure, trigproc, disappear, remove of purge. YYYY-MM-DD HH:MM:SS conffile bestandsnaam beslissing Voor conffile-wijzigingen (wijzigingen aan een configuratiebestand) waarbij beslissing ofwel install ofwel keep is. --no-pager Schakelt het gebruik van een pagineringsprogramma uit bij het weergeven van informatie (sinds dpkg 1.19.2). --no-debsig Niet proberen pakket-ondertekeningen te verifiëren. --no-triggers In deze doorloop geen triggers uitvoeren (sinds dpkg 1.14.17), maar activeringen blijven wel opgetekend worden. Indien het gebruikt wordt in combinatie met --configure pakket of --triggers-only pakket, dan zullen de postinst-scripts van het vermelde pakket nog steeds uitgevoerd worden, zelfs als enkel nog het uitvoeren van triggers dient te gebeuren. Het gebruik van deze optie kan pakketten achterlaten in een ongepaste toestand van triggers-awaited en triggers-pending. Dit kan later gerepareerd worden door dpkg --configure --pending uit te voeren. --triggers Annuleert een eerder gegeven --no-triggers (sinds dpkg 1.14.17).
AFSLUITSTATUS
0 De gevraagde actie werd succesvol uitgevoerd. Of een commando dat een toets of een assertie verrichtte gaf waar als resultaat. 1 Een commando dat een toets of een assertie verrichtte gaf onwaar als resultaat. 2 Fatale of onherstelbare fout die te wijten is aan ongeldig gebruik van de commandoregel of aan interacties met het systeem, zoals het benaderen van de database, het toewijzen van geheugen, enz.
OMGEVING
Externe omgeving PATH Er wordt verwacht dat deze variabele in de omgeving gedefinieerd wordt en de systeempaden aangeeft waar verschillende noodzakelijke programma's gevonden kunnen worden. Indien deze variabele niet ingesteld is of de programma's niet gevonden kunnen worden, zal dpkg afbreken. HOME Indien de variabele ingesteld is, zal dpkg hem gebruiken als de map waar het gebruikersspecifieke configuratiebestand kan gelezen worden. TMPDIR Indien de variabele ingesteld is, zal dpkg hem gebruiken als de map waarin tijdelijke bestanden en mappen kunnen aangemaakt worden. SHELL Het programma dat dpkg zal uitvoeren bij het starten van een nieuwe interactieve shell of bij het voortbrengen van een commando via een shell. PAGER DPKG_PAGER Het programma dat dpkg zal uitvoeren als het een pagineringsprogramma gebruikt, bijvoorbeeld voor het tonen van de verschillen tussen de configuratiebestanden. Indien SHELL niet ingesteld is, dan zal «sh» gebruikt worden. DPKG_PAGER overschrijft de omgevingsvariabele PAGER (sinds dpkg 1.19.2). DPKG_COLORS Stelt de kleurmodus in (sinds dpkg 1.18.5). Waarden die momenteel gebruikt mogen worden zijn: auto (standaard), always en never. DPKG_FORCE Stelt de forceer-vlaggen in (sinds dpkg 1.19.5). Indien deze variabele aanwezig is, zullen geen ingebouwde forceer-standaardwaarden toegepast worden. Indien de variabele aanwezig, maar leeg is, zullen alle forceer-vlaggen gedeactiveerd worden. DPKG_FRONTEND_LOCKED Ingesteld door een frontend voor pakketbeheer om dpkg te informeren dat het de frontendgrendel niet mag bemachtigen (since dpkg 1.19.1). Interne omgeving LESS Ingeval dit niet reeds ingesteld is, wordt dit door dpkg als “-FRSXMQ” gedefinieerd bij het voortbrengen van een pagineringsprogramma (sinds dpkg 1.19.2). Om dit standaardgedrag aan te passen kan deze variabele vooraf ingesteld worden op een andere waarde, met inbegrip van een lege tekenreeks, of kunnen de variabelen PAGER of DPKG_PAGER ingesteld worden om specifieke opties uit te schakelen met «-+», bijvoorbeeld DPKG_PAGER="less -+F". DPKG_ROOT Gedefinieerd door dpkg in de omgeving van het pakketonderhouderscript om aan te geven op welke installatie gewerkt moet worden (sinds dpkg 1.18.5). Het is de bedoeling dat deze waarde vooraan toegevoegd wordt aan elk pad waarop scripts van de pakketonderhouder ageren. Tijdens een normale operatie is deze variabele leeg. Indien pakketten geïnstalleerd worden in een afwijkende instdir (installatiemap), zal dpkg de scripts van de pakketonderhouder normaal uitvoeren met behulp van chroot(2) en deze variabele leeg laten, maar indien --force-script-chrootless opgegeven werd, wordt het aanroepen van chroot(2) overgeslagen en is instdir niet leeg. DPKG_ADMINDIR Gedefinieerd door dpkg binnen de omgeving van het script van de pakketonderhouder om aan te geven welke map gebruikt moet worden om dpkg te beheren (sinds dpkg 1.16.0). Deze variabele wordt steeds ingesteld op de huidige waarde van --admindir. DPKG_FORCE Gedefinieerd door dpkg binnen de omgeving van de subprocessen voor alle momenteel geactiveerde forceer-optienamen, gescheiden door komma's (sinds dpkg 1.19.5). DPKG_SHELL_REASON Gedefinieerd door dpkg in de shell die door de conffile-prompt (een vraag in verband met de configuratie) geactiveerd wordt met het oog op het onderzoeken van de situatie (sinds dpkg 1.15.6). Momenteel is de geldige waarde: conffile-prompt. DPKG_CONFFILE_OLD Gedefinieerd door dpkg in de shell die door de conffile-prompt (een vraag in verband met de configuratie) geactiveerd wordt om de situatie te onderzoeken (sinds dpkg 1.15.6). Bevat het pad naar de oude conffile (configuratiebestand). DPKG_CONFFILE_NEW Gedefinieerd door dpkg in de shell die door de conffile-prompt (een vraag in verband met de configuratie) geactiveerd wordt om de situatie te onderzoeken (sinds dpkg 1.15.6). Bevat het pad naar de nieuwe conffile (configuratiebestand). DPKG_HOOK_ACTION Gedefinieerd door dpkg in de shell die geactiveerd wordt bij het uitvoeren van een uitbreiding (hook) (sinds dpkg 1.15.4). Bevat de huidige actie van dpkg. DPKG_RUNNING_VERSION Gedefinieerd door dpkg binnen de omgeving van het script van de pakketonderhouder als de versie van het exemplaar van dpkg dat momenteel uitgevoerd wordt (sinds dpkg 1.14.17). DPKG_MAINTSCRIPT_PACKAGE Gedefinieerd door dpkg binnen de omgeving van het script van de pakketonderhouder als de naam van het pakket (zonder architectuurkwalificatie) dat behandeld wordt (sinds dpkg 1.14.17). DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT Gedefinieerd door dpkg binnen de omgeving van het script van de pakketonderhouder als het pakketreferentieaantal, d.w.z. het aantal pakketexemplaren met een status groter dan not-installed (niet-geïnstalleerd) (sinds dpkg 1.17.2). DPKG_MAINTSCRIPT_ARCH Gedefinieerd door dpkg binnen de omgeving van het script van de pakketonderhouder als de architectuur waarvoor het pakket gebouwd werd (sinds dpkg 1.15.4). DPKG_MAINTSCRIPT_NAME Gedefinieerd door dpkg binnen de omgeving van het script van de pakketonderhouder als de naam van het script dat uitgevoerd wordt. Dit is een van de volgende: preinst, postinst, prerm of postrm (sinds dpkg 1.15.7). DPKG_MAINTSCRIPT_DEBUG Gedefinieerd door dpkg binnen de omgeving van het script van de pakketonderhouder als de waarde (‘0’ of ‘1’), waarmee nota genomen wordt van het feit of debuggen aangevraagd werd (met de optie --debug) voor de scripts van de pakketonderhouder (sinds dpkg 1.18.4).
BESTANDEN
/etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]* Bestanden met configuratiefragmenten (sinds dpkg 1.15.4). /etc/dpkg/dpkg.cfg Configuratiebestand met standaardopties. /var/log/dpkg.log Standaard logbestand (zie /etc/dpkg/dpkg.cfg en de optie --log). De andere bestanden worden hieronder weergegeven in hun standaardmap. Zie de optie --admindir om te weten hoe u de locatie van deze bestanden kunt wijzigen. /var/lib/dpkg/available Lijst van beschikbare pakketten. /var/lib/dpkg/status Status van de beschikbare pakketten. Dit bestand bevat informatie over het feit of een pakket al dan niet gemarkeerd werd om verwijderd te worden, of het al dan niet geïnstalleerd is, enz. Zie het onderdeel INFORMATIE OVER PAKKETTEN voor meer informatie. Dagelijks wordt een reservekopie van het statusbestand gemaakt in /var/backups. Die kan nuttig zijn mocht het bestand verloren gegaan zijn of beschadigd ten gevolge van problemen met het bestandssysteem. De indeling en de inhoud van een binair pakket worden beschreven in deb(5).
BUGS
--no-act geeft gewoonlijk minder informatie dan nuttig kan zijn.
VOORBEELDEN
Om de geïnstalleerde pakketten op te sommen die verband houden met de editor vi(1) (merk op dat dpkg-query standaard niet langer het bestand available laadt en dat in de plaats daarvan daarvoor de optie dpkg-query --load-avail gebruikt moet worden): dpkg -l '*vi*' Om de items uit /var/lib/dpkg/available over twee pakketten te zien: dpkg --print-avail elvis vim | less Om zelf in de lijst van pakketten te zoeken: less /var/lib/dpkg/available Om een geïnstalleerde pakket elvis te verwijderen: dpkg -r elvis Om een pakket te installeren moet u het eerst zoeken in een archief of op een CD. Het bestand available laat zien dat het pakket vim zich in de sectie editors bevindt: cd /media/cdrom/pool/main/v/vim dpkg -i vim_4.5-3.deb Om een lokale kopie te maken van de pakketselectietoestand: dpkg --get-selections >myselections U zou dit bestand kunnen overbrengen naar een andere computer en nadat u daar het bestand available bijgewerkt hebt met het frontend voor pakketbeheer van uw voorkeur (zie https://wiki.debian.org/Teams/Dpkg/FAQ voor meer details), bijvoorbeeld: apt-cache dumpavail | dpkg --merge-avail of met dpkg 1.17.6 of vroegere versies: avail=`mktemp` apt-cache dumpavail >"$avail" dpkg --merge-avail "$avail" rm "$avail" kunt u het installeren met: dpkg --clear-selections dpkg --set-selections <myselections Merk op dat dit eigenlijk niet echt iets installeert of verwijdert, maar enkel de selectiestatus voor de gevraagde pakketten instelt. U heeft een andere toepassing nodig om de gevraagde pakketten echt te downloaden en te installeren. Voer bijvoorbeeld apt-get dselect-upgrade uit. U zult ondervinden dat dselect(1) gewoonlijk een meer comfortabele manier biedt om de selectiestatus van pakketten te wijzigen.
BIJKOMENDE FUNCTIONALITEIT
U kunt bijkomende functionaliteit verkrijgen door het installeren van elk van de volgende pakketten: apt, aptitude en debsums.
ZIE OOK
aptitude(1), apt(1), dselect(1), dpkg-deb(1), dpkg-query(1), deb(5), deb-control(5), dpkg.cfg(5), en dpkg-reconfigure(8).
AUTEURS
Zie /usr/share/doc/dpkg/THANKS voor een lijst van mensen die bijgedragen hebben aan dpkg.