dpkg - pakketbeheerder voor Debian
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 pakketbeheerders
die willen begrijpen hoe dpkg hun pakketten installeert. De
beschrijving van wat dpkg doet bij het installeren en verwijderen van
pakketten is bijzonder inadequaat.
dpkg is gereedschap op een tussenniveau voor het
installeren, bouwen, verwijderen en beheren van Debian pakketten. Het
belangrijkste en meer gebruikersvriendelijke frontend voor dpkg als
commandoregelinterface (CLI - command-line interface) is apt(8) en is
aptitude(8) als terminalgebruikersinterface (TUI - terminal user
interface). 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.
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.
- install
(installeren)
- Het pakket werd geselecteerd om geïnstalleerd te worden.
- hold (te
handhaven)
- Een pakket dat gemarkeerd is als "on hold" (te
handhaven), wordt behouden op dezelfde versie, wat betekent dat er geen
automatische nieuwe installaties, opwaarderingen of verwijderingen op
uitgevoerd zullen worden, tenzij er expliciet gevraagd wordt om deze
acties of wanneer het met de optie --force-hold toegelaten is om
deze automatisch uit te voeren.
- 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.
- 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.
- -i, --install
pakketbestand...
- Het pakket installeren. Indien de optie --recursive of -R
opgegeven werd, moet pakketbestand evenwel naar een map verwijzen.
Een installatie bestaat uit de volgende stappen:
- 1.
- De controle-bestanden van het nieuwe pakket extraheren.
- 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.
- De nieuwe bestanden uitpakken 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 pakket configureren. Zie --configure voor gedetailleerde
informatie over hoe dit gebeurt.
- --unpack
pakketbestand...
- Het pakket uitpakken, maar het niet configureren. Indien de optie
--recursive of -R opgegeven werd, moet pakketbestand
evenwel naar een map verwijzen.
Zal triggers voor Pre-Depends verwerken, tenzij
--no-triggers opgegeven werd.
- --configure
pakket...|-a|--pending
- Een pakket configureren 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 (dat deel uitmaakt van het debconf-project).
Het configureren bestaat uit de volgende stappen:
- 1.
- De configuratiebestanden uitpakken en tegelijk een reservekopie maken van
de oude configuratiebestanden, zodat ze hersteld kunnen worden mocht er
iets fout lopen.
- 2.
- Het script postinst uitvoeren, als dit door het pakket wordt
geleverd.
Zal triggers verwerken, tenzij --no-triggers werd
opgegeven.
- --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 configuratiebestanden van het type conffiles (conffiles zijn
configuratiebestanden die vermeld worden in het controlebestand
DEBIAN/conffiles) 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.
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 script prerm uitvoeren.
- 2.
- De geïnstalleerde bestanden verwijderen.
- 3.
- Het script postrm uitvoeren.
Zal triggers verwerken, tenzij --no-triggers werd
opgegeven.
- -P, --purge
pakket...|-a|--pending
- Een geïnstalleerd of een reeds verwijderd pakket wissen. Dit
verwijdert alles, inclusief 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 onbekend
zijn voor 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 pakket verwijderen als het nog niet verwijderd was. Zie
--remove voor gedetailleerde informatie over hoe dit gebeurt.
- 2.
- Het script postrm uitvoeren.
Zal triggers verwerken, tenzij --no-triggers werd
opgegeven.
- -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. Dit is slechts een
integriteitscontrole en mag niet worden beschouwd als enige vorm van
veiligheidsverificatie.
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]
- De kennis van dpkg en dselect over welke pakketten
beschikbaar zijn bijwerken. 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...
- De kennis van dpkg en dselect over welke pakketten
beschikbaar zijn bijwerken 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
- De huidige informatie over de beschikbaarheid van pakketten wissen.
- --get-selections
[pakketnaampatroon...]
- De lijst van pakketselecties ophalen en weergeven op 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
- Pakketselecties instellen 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
- De gevraagde status voor elk niet-essentieel pakket instellen 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
- Eén enkel pakket tonen 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
- Architectuur toevoegen 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
- Architectuur verwijderen 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
- De architectuur tonen van de pakketten die dpkg installeert
(bijvoorbeeld “i386”).
- --print-foreign-architectures
- Een lijst tonen, 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-help
- Hulp bieden over de opties --assert-iets (sinds dpkg
1.21.0).
- --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).
- protected-field
- Biedt ondersteuning voor het veld Protected (sinds dpkg
1.20.1).
- --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
- Versienummers vergelijken, 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
- Een korte hulptekst weergeven.
- --force-help
- Hulp geven over de opties --force-iets.
- -Dh,
--debug=help
- Hulp geven over debug-opties.
- --version
- Versie-informatie geven over dpkg.
Wanneer dit gebruikt wordt met --robot, zal de uitvoer
het versienummer bevatten in een gespikkeld numeriek formaat, zonder
regeleinde.
- dpkg-deb
actions
- Zie dpkg-deb(1) voor meer informatie over de volgende acties, en
andere acties en opties die niet worden weergegeven door de
dpkg-frontend.
- -b, --build map
[archief|map]
- Een deb-pakket bnouwen.
- -c, --contents
archief
- De inhoud van een deb-pakket opsommen.
- -e, --control
archief [map]
- Control-informatie extraheren uit een pakket.
- -x, --extract
archief map
- De bestanden uit een pakket extraheren.
- -X, --vextract
archief map
- De bestandsnamen welke een pakket bevat, extraheren en weergeven.
- -f, --field
archief [control-veld...]
- Het/de control-veld(en) van een pakket weergeven.
- --ctrl-tarfile
archief
- Het control-tarbestand dat zich in een Debian pakket bevindt,
voortbrengen.
- --fsys-tarfile
archief
- Het bestandssysteem-tarbestand dat zich in een Debian pakket bevindt,
voortbrengen.
- -I, --info
archief [control-bestand...]
- Informatie over een pakket tonen.
- dpkg-query
acties
- Zie dpkg-query(1) voor meer informatie over de volgende acties, en
andere acties en opties die niet worden weergegeven door de
dpkg-frontend.
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
- Aanpassen 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
- Debuggen inschakelen. 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:
- Automatische installaties, opwaarderingen en verwijderingen van pakketten
toestaan, zelfs al zijn ze als te behouden (on "hold")
gemarkeerd. Merk op: wanneer expliciet om deze acties gevraagd
wordt, zal de selectiestatus "hold" van het pakket altijd
genegeerd worden.
- 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-protected:
- Het pakket verwijderen, zelfs al wordt het als beschermd beschouwd (sinds
dpkg 1.20.1). Beschermde pakketten bevatten meestal belangrijke
infrastructuur voor de systeemopstart of worden gebruikt voor aangepaste
systeem-lokale metapakketten. Ze verwijderen kan tot gevolg hebben dat het
hele systeem niet langer kan opstarten of functionaliteit verliest die
vereist is om te functioneren. Gebruik dit dus met de nodige
voorzichtigheid.
- remove-essential:
- Het pakket verwijderen, zelfs al wordt het als essentieel beschouwd.
Essentiële pakketten bevatten meestal zeer elementaire
Unix-commando's, die nodig zijn voor het verpakkingssysteem, voor de
werking van het systeem in het algemeen of tijdens het opstarten (hoewel
deze laatste in plaats daarvan zouden moeten worden geconverteerd naar
beschermde pakketten). Ze verwijderen kan tot gevolg hebben dat het hele
systeem stopt met werken. Gebruik dit dus met de nodige
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 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 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 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 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 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 pakketbeheerder 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» indien DPKG_ADMINDIR niet werd
ingesteld.
- --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 en architectuur van dat
pakket reeds geïnstalleerd is.
Sinds dpkg 1.21.10 wordt ook rekening gehouden met de
architectuur, wat het mogelijk maakt om pakketten te cross-graden of
bijkomende co-installeerbare exemplaren van pakketten met dezelfde
versie, maar verschillende architectuur te installeren.
- --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 (sinds dpkg 1.15.4) en
de acties add-architecture en remove-architecture (sinds
dpkg 1.17.19) van dpkg. 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.
Opmerking: frontends kunnen dpkg meerdere keren
per aanroep aanroepen, 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. Opmerking: het is mogelijk dat de huidige
implementatie meer mappen en symbolische koppelingen opnieuw opneemt dan
nodig is, in het bijzonder wanneer er een meer specifieke heropname 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.
Hint: 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).
De enige momenteel ondersteunde indeling van de uitvoer is
rpm, die bestaat uit een regel voor elk pad dat een controle niet
doorstaan heeft. Deze regels hebben de volgende indeling:
missing [c] padnaam
[(foutmelding)]
??5?????? [c] padnaam
De eerste 9 tekens worden gebruikt om het resultaat van de
controle te rapporteren, ofwel een letterlijke missing wanneer
het bestand niet aanwezig is of de metagegevens ervan niet kunnen worden
opgehaald, ofwel een van de volgende speciale tekens die het resultaat
voor elke controle aangeven:
- ‘?’
- Dit houdt in dat de controle niet kon worden uitgevoerd (gebrek aan
ondersteuning, bestandsrechten, enz.).
- ‘.’
- Dit houdt in dat de controle geslaagd is.
- ‘A-Za-z0-9’
- Dit houdt in dat een specifieke controle mislukte. De volgende posities en
alfanumerieke tekens worden momenteel ondersteund:
- 1 ‘?’
- Deze controles worden momenteel niet ondersteund, en zullen altijd
'?' zijn.
- 2 ‘M’
- De controle van de bestandsmodus is mislukt (sinds dpkg 1.21.0). Omdat
metagegevens van padnamen momenteel niet worden bijgehouden, kan deze
controle slechts gedeeltelijk worden geëmuleerd via een zeer
eenvoudige heuristiek voor padnamen die een bekende frommel hebben, wat
inhoudt dat het normale bestanden moeten zijn, waarbij de controle zal
mislukken als de padnaam geen gewoon bestand is op het bestandssysteem.
Deze controle zal momenteel nooit slagen omdat er onvoldoende informatie
beschikbaar is.
- 3 ‘5’
- De controle van de hashwaarde is mislukt, wat betekent dat de inhoud van
het bestand is veranderd. Dit is slechts een integriteitscontrole en mag
niet worden beschouwd als enige vorm van veiligheidsverificatie.
- 4-9 ‘?’
- Deze controles worden momenteel niet ondersteund, en zullen altijd
'?' zijn.
De regel wordt gevolgd door een spatie en een attribuutteken. Het
volgende attribuutteken wordt ondersteund:
- ‘c’
- De padnaam is een conffile configuratiebestand.
Tenslotte gevolgd door nog een spatie en de padnaam.
In het geval dat de invoer van het type missing was en het
bestand niet echt aanwezig was op het bestandssysteem, dan wordt de regel
gevolgd door een spatie en de foutmelding tussen haakjes.
- --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-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:
- --robot
- Een indeling gebruiken die door machines gelezen kan worden. Dit biedt een
interface aan programma's die de uitvoer moeten ontleden van sommige van
de commando's welke anders geen uitvoer produceren in een door een machine
te lezen indeling. Er wordt geen lokalisatie gebruikt en de uitvoer wordt
aangepast om deze makkelijker ontleedbaar te maken.
Het enige momenteel ondersteunde commando is
--version.
- --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).
- 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.
- 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.
- Het programma dat dpkg zal uitvoeren als het gebruik maakt van een
pagineringsprogramma, dat uitgevoerd zal worden met
«$SHELL -c»,
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_DEBUG
- Stelt het foutopsporingsmasker in (sinds dpkg 1.21.10) vanaf een octale
waarde. De momenteel geaccepteerde vlaggen worden beschreven in de optie
--debug.
- 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_ADMINDIR
- Indien dit ingesteld is en de opties --admindir of --root
niet opgegeven werden, zal dit gebruikt worden als de administratieve map
voor dpkg (sinds dpkg 1.20.0).
- 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).
- 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 pakketbeheerderscript
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 pakketbeheerder 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 pakketbeheerder 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
beheerder om aan te geven welke map dpkg moet gebruiken als
administratieve map (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 geactiveerd wordt naar
aanleiding van een vraag in verband met de configuratie 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 geactiveerd wordt naar
aanleiding van een vraag in verband met de configuratie 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 geactiveerd wordt naar
aanleiding van een vraag in verband met de configuratie 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
beheerder 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
beheerder 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
beheerder 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
beheerder 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
beheerder 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
beheerder 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 beheerder (sinds dpkg 1.18.4).
- /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. Dit 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).
Tijdens het uitpakken en configureren gebruikt dpkg
verschillende bestandsnamen voor doeleinden als een back-up maken en een
actie terugdraaien. Hieronder volgt een vereenvoudigde uitleg van hoe deze
bestandsnamen gebruikt worden tijdens de installatie van het pakket.
- *.dpkg-new
- Tijdens het uitpakken pakt dpkg nieuwe bestandssysteemobjecten uit
in padnaam.dpkg-new (behalve voor bestaande mappen of
symbolische koppelingen naar mappen die worden overgeslagen); zodra dat
gedaan is en na back-ups te hebben gemaakt van de oude objecten, worden de
objecten hernoemd naar padnaam.
- *.dpkg-tmp
- Tijdens het uitpakken maakt dpkg back-ups van de oude
bestandssysteemobjecten in padnaam.dpkg-tmp na het uitpakken
van de nieuwe objecten. Deze back-ups worden uitgevoerd als ofwel een
hernoemen van mappen (maar alleen als ze van bestandstype veranderen),
ofwel een nieuwe kopie van de symbolische koppeling voor symbolische
koppelingen, ofwel een harde koppeling voor elk ander
bestandssysteemobject, behalve voor configuratiebestanden die geen
back-ups krijgen omdat ze in een later stadium verwerkt worden.
Als het nodig is om de actie terug te draaien, worden deze
back-ups gebruikt om de vorige inhoud van de objecten te herstellen.
Deze worden automatisch verwijderd nadat de installatie is voltooid.
- *.dpkg-old
- Tijdens de configuratie, wanneer een nieuwe versie wordt
geïnstalleerd, kan dpkg een back-up maken van het vorige
gewijzigde configuratiebestand in padnaam.dpkg-old.
- *.dpkg-dist
- Tijdens de configuratie kan dpkg, wanneer de oude versie behouden
blijft, een back-up maken van het nieuwe ongewijzigde configuratiebestand
in padnaam.dpkg-dist.
Elke bewerking waarvoor schrijftoegang tot de database of het
bestandssysteem nodig is, wordt beschouwd als een bevoorrechte bewerking die
uitbreiding naar root-rechten mogelijk maakt. Deze handelingen mogen nooit
gedelegeerd worden naar een niet-vertrouwde gebruiker of uitgevoerd worden
op niet-vertrouwde pakketten, omdat dit root-toegang tot het systeem
mogelijk maakt.
Sommige bewerkingen (zoals pakketverificatie) kunnen
systeembeheerdersrechten nodig hebben om toegang te krijgen tot bestanden op
het bestandssysteem die anders ontoegankelijk zouden zijn vanwege beperkte
rechten, maar zouden verder normaal moeten werken en in die gevallen de
juiste berichten moeten produceren.
Query-operaties zouden nooit root mogen vereisen, en het delegeren
van hun uitvoering naar niet-geprivilegieerde gebruikers via een commando om
beheerdersrechten te verwerden, kan veiligheidsimplicaties hebben (zoals een
probleem van rechtenuitbreiding), bijvoorbeeld wanneer een
pagineringsprogramma automatisch wordt aangeroepen door het hulpmiddel.
Zie ook de sectie SECURITY van de man-pagina's
dpkg-deb(1) en dpkg-split(1).
--no-act geeft gewoonlijk minder informatie dan nuttig kan
zijn.
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 vim neovim | less
Om zelf in de lijst van pakketten te zoeken:
dpkg --print-avail | less
Om een geïnstalleerde pakket neovim te verwijderen:
dpkg -r neovim
Om een pakket te installeren moet u het eerst zoeken in een
archief of op een mediaschijf. Wanneer u een archief gebruikt dat is
gebaseerd op een poolstructuur, is het kennen van het archiefgebied en de
naam van het pakket voldoende om de padnaam af te leiden:
dpkg -i /media/bdrom/pool/main/v/vim/vim_9.0.2018-1_amd64.deb
Om een lokale kopie te maken van de pakketselectietoestand:
dpkg --get-selections >mijnselecties
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#set-selections> voor meer
details), bijvoorbeeld:
apt-cache dumpavail | dpkg --merge-avail
kunt u het installeren met:
dpkg --clear-selections
dpkg --set-selections <mijnselecties
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.
U kunt bijkomende functionaliteit verkrijgen door het installeren
van elk van de volgende pakketten: apt, aptitude en
debsig-verify.
aptitude(8), apt(8), dselect(1),
dpkg-deb(1), dpkg-query(1), deb(5),
deb-control(5), dpkg.cfg(5) en dpkg-reconfigure(8).
Zie /usr/share/doc/dpkg/THANKS voor een lijst van mensen
die bijgedragen hebben aan dpkg.