dpkg-deb - gereedschap voor het behandelen van een Debian
pakketarchief (.deb)
dpkg-deb [optie...] commando
dpkg-deb pakt Debian-archieven in/uit en geeft er
informatie over.
Gebruik dpkg om pakketten te installeren op uw systeem of
ze ervan te verwijderen.
U kunt dpkg-deb ook inroepen door dpkg aan te roepen
met alle opties die u aan dpkg-deb wilt doorgeven. dpkg zal
merken dat u dpkg-deb wilde en het voor u uitvoeren.
De meeste commando's die als argument een invoerarchief
verwachten, kunnen dit archief lezen van de standaardinvoer indien als
archiefnaam één enkel min-teken («-»)
opgegeven wordt. In het andere geval zal het ontbreken van ondersteuning
hiervoor gedocumenteerd worden in de beschrijving van het desbetreffende
commando.
- -b, --build
map-binair-pakket [archief|map]
- Maakt een debian-archief van de bestandssysteemboom die in
map-binair-pakket staat. map-binair-pakket moet een
onderliggende map DEBIAN hebben waarin de bestanden met
controle-informatie opgeslagen zijn, zoals het bestand control zelf. Deze
map zal niet voorkomen in het bestandssysteemarchief van het
binaire pakket, maar in de plaats daarvan zullen de bestanden daaruit in
het conrole-informatiegebied van het binaire pakket geplaatst worden.
Tenzij u --nocheck opgeeft, zal dpkg-deb
DEBIAN/control lezen en het ontleden. Het zal het bestand
controleren op syntaxisfouten en op andere problemen en de naam tonen
van het binaire pakket dat gebouwd wordt. dpkg-deb zal ook de
toegangsrechten van de scripts van de onderhouder nazien en van andere
bestanden die te vinden zijn in de map DEBIAN met
controle-informatie.
Indien geen archief opgegeven werd, zal dpkg-deb
het pakket wegschrijven in het bestand
map-binair-pakket.deb.
Indien het te maken archief reeds bestaat, zal het
overschreven worden.
Indien het tweede argument een map is, zal dpkg-deb
schrijven in het bestand
map/pakket_versie_arch.deb.
Indien een doelmap opgegeven werd, eerder dan een bestand, kan de optie
--nocheck niet gebruikt worden (aangezien dpkg-deb het
control-bestand van het pakket moet lezen en ontleden om te kunnen
uitmaken welke bestandsnaam gebruikt moet worden).
- -I, --info
archief [naam-controlebestand...]
- Geeft informatie over een binair pakketarchief.
Indien geen naam-controlebestand(en) opgegeven werd(en)
zal het een samenvatting weergeven van de inhoud van het pakket en van
zijn bestand control.
Indien wel (een) naam-controlebestand(en) opgegeven
werd(en), zal dpkg-deb ze in de opgegeven volgorde weergeven.
Indien er een of meerdere componenten ontbraken, zal het een foutmelding
weergeven op de standaard foutuitvoer over elk van hen en afsluiten met
de status 2.
- -W, --show
archief
- Verschaft informatie over een binair pakketarchief in de indeling die
opgegeven werd met het argument --showformat. De standaardindeling
toont de naam van het pakket en de versie op één regel,
gescheiden door een tab.
- -f, --field
archief [controleveldnaam...]
- Extraheert informatie uit het bestand control van een binair
pakketarchief.
Indien er geen controleveldna(a)m(en) opgegeven
werd(en) zal het het volledige bestand control tonen.
Indien er wel opgegeven werden, zal dpkg-deb hun inhoud
weergeven in de volgorde waarin zij in het bestand control voorkomen.
Indien meer dan één controleveldnaam opgegeven
werd, zal dpkg-deb telkens eerst de veldnaam (en een dubbele punt
en een spatie) plaatsen voor de inhoud van het veld.
Er worden geen foutmeldingen gegeven voor aangevraagde velden
die niet gevonden werden.
- -c, --contents
archief
- Geeft de inhoud weer van het archiefonderdeel van het pakketarchief dat de
bestandssysteemboom bevat. Hij wordt momenteel weergegeven volgens de
manier waarop tar een breedsprakige lijst genereert.
- -x, --extract
archiefmap
- Extraheert de boom met het bestandssysteem uit een pakketarchief en
plaatst die in de opgegeven map.
Merk op dat een pakket naar de hoofdmap extraheren niet
in een correcte installatie resulteert! Maak gebruik van dpkg om
pakketten te installeren.
map (maar niet de bovenliggende mappen) zal indien
nodig aangemaakt worden en de toegangsrechten ervan zullen aangepast
worden om overeen te komen met de inhoud van het pakket.
- -X, --vextract
archiefmap
- Is zoals --extract (-x) met --verbose (-v),
hetgeen een lijst van de geëxtraheerde bestanden toont terwijl de
opdracht uitgevoerd wordt.
- -R, --raw-extract
archief map
- Extraheert de boom met het bestandssysteem uit een pakketarchief en
plaatst die in de opgegeven map en de bestanden met de controle-informatie
in een daaronder liggende map DEBIAN (sinds dpkg 1.16.1).
Indien nodig zal de doelmap (maar niet de erboven liggende
mappen) aangemaakt worden.
Het invoerarchief wordt (momenteel) niet sequentieel verwerkt,
waardoor het van standaardinvoer («-») lezen ervan
niet ondersteund wordt.
- --ctrl-tarfile
archief
- Extraheert de controlegegevens uit een binair pakket en stuurt ze naar de
standaarduitvoer in tar-indeling (sinds dpkg 1.17.14). Samen met
tar(1) kan dit gebruikt worden om een specifiek controlebestand uit
een pakketarchief te extraheren. Het invoerarchief wordt steeds
sequentieel verwerkt.
- --fsys-tarfile
archief
- Extraheert de gegevens van de bestandssysteemboom uit een binair pakket en
stuurt ze naar de standaarduitvoer in tar-indeling. Samen met
tar(1) kan dit gebruikt worden om een specifiek bestand uit een
pakketarchief te extraheren. Het invoerarchief wordt steeds sequentieel
verwerkt.
- -e, --control
archief [map]
- Extraheert de bestanden met controle-informatie uit een pakketarchief en
plaatst ze in de opgegeven map.
Indien geen map opgegeven werd, wordt een onder de huidige map
liggende map DEBIAN gebruikt.
Indien nodig zal de doelmap (maar niet de erboven liggende
mappen) aangemaakt worden.
- -?, --help
- Info tonen over het gebruik en afsluiten.
- --version
- De versie tonen en afsluiten.
- --showformat=indeling
- Deze optie wordt gebruikt om op te geven in welke indeling --show
zijn uitvoer moet produceren. De indeling is een tekenreeks die vorm geeft
aan de uitvoer die voor elk opgesomd pakket gegenereerd wordt.
De tekenreeks mag in de vorm
“${veldnaam}” verwijzen naar elk statusveld. Een
lijst van geldige velden kan gemakkelijk bekomen worden door voor
hetzelfde pakket -I te gebruiken. Een volledige uitleg over de
indelingsmogelijkheden (met inbegrip van stuurcodes en het bepalen van
de tussenruimte tussen velden) kan men vinden in de toelichting bij de
optie --showformat van dpkg-query(1).
De standaard voor dit veld is
“${Package}\t${Version}\n”.
- -zcompressieniveau
- Specificeren welk compressieniveau gebruikt moet worden door het
compressieprogramma bij het bouwen van het pakket (standaard is dat 9 voor
gzip, 6 voor xz). Bruikbare waarden zijn 0-9, waarbij 0 vertaald wordt als
geen compressie voor gzip. Voor dpkg 1.16.2 was niveau 0 het equivalent
van geen compressie voor alle compressieprogramma's.
- -Scompressiestrategie
- Specificeren welke compressiestrategie gebruikt moet worden door het
compressieprogramma bij het bouwen van een pakket (sinds dpkg 1.16.2).
Toegestane waarden zijn none (sinds dpkg 1.16.4), filtered,
huffman, rle en fixed voor gzip (sinds dpkg 1.17.0)
en extreme voor xz.
- -Zcompressietype
- Specificeren welk compressietype bij het bouwen van een pakket gebruikt
moet worden. Toegestane waarden zijn gzip, xz (sinds dpkg
1.15.6) en none (standaard is xz).
- --[no-]uniform-compression
- Specificeren dat dezelfde compressieparameters gebruikt moeten worden voor
alle archiefonderdelen (d.w.z. control.tar en data.tar;
sinds dpkg 1.17.6). Anders zullen die parameters enkel voor het onderdeel
data.tar gebruikt worden. De enige ondersteunde compressietypes
waarvan het eenvormig gebruik toegelaten is, zijn none, gzip
en xz. De optie --no-uniform-compression schakelt uniforme
compressie uit (sinds dpkg 1.19.0). Uniforme compressie is de standaard
(sinds dpkg 1.19.0).
- --root-owner-group
- Voor elk gegevensitem van de bestandssysteemboom de eigenaar en de groep
instellen op 'root' met het id 0 (sinds dpkg 1.19.0).
Noot: Deze optie kan nuttig zijn voor een root-loze
bouw (zie rootless-builds.txt), maar zou niet gebruikt
mogen worden wanneer de eigenaar of de groep van de items niet 'root'
is. Daarvoor zal later ondersteuning toegevoegd worden in de vorm van
een meta-manifest.
- --deb-format=indeling
- Instellen welke versie van archiefindeling bij het bouwen gebruikt moet
worden (sinds dpkg 1.17.0). Toegestane waarden zijn 2.0 voor de
nieuwe indeling en 0.939000 voor de oude (standaard is 2.0).
De oude archiefindeling wordt door niet-Debian gereedschap
minder gemakkelijk ontleed en wordt nu als verouderd beschouwd. Het
enige nut ervan is nog als pakketten gebouwd worden die moeten ontleed
worden door versies van dpkg die ouder zijn dan versie 0.93.76
(september 1995), die enkel uitgegeven werd als een i386 a.out.
- --nocheck
- Dit onderdrukt de gebruikelijke controles die door dpkg-deb --build
uitgevoerd worden op de voorgestelde inhoud van een archief. Op die manier
kunt u gelijk welk archief bouwen, hoe onklaar het ook is.
- -v, --verbose
- Activeert breedsprakige uitvoer (sinds dpkg 1.16.1). Momenteel heeft dit
enkel invloed op --extract dat zich erdoor gaat gedragen als
--vextract.
- -D, --debug
- Activeert debug-uitvoer. Dit is weinig interessant.
- 0
- De gevraagde actie werd succesvol uitgevoerd.
- 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.
- DPKG_COLORS
- Stelt de kleurmodus in (sinds dpkg 1.18.5). Waarden die momenteel gebruikt
mogen worden zijn: auto (standaard), always en
never.
- TMPDIR
- Indien dit ingesteld werd, zal dpkg-deb het gebruiken als de map
waarin tijdelijke bestanden en mappen aangemaakt worden.
- SOURCE_DATE_EPOCH
- Indien dit ingesteld werd, zal het gebruikt worden als de tijdsaanduiding
(timestamp) (in seconden sinds de epoch) in de ar(5)-container van
het deb(5)-bestand en zal het ook gebruikt worden om de mtime vast
te zetten op de items uit het tar(5)-bestand.
Tracht geen software te installeren met enkel maar
dpkg-deb! U moet zoals het hoort dpkg gebruiken om er zeker
van te zijn dat alle bestanden op de juiste plaats terechtkomen, dat de
scripts van het pakket uitgevoerd worden en dat zijn toestand en inhoud
bijgehouden worden.
dpkg-deb -I pakket1.deb
pakket2.deb doet de dingen fout.
Er gebeurt geen authenticatie van de .deb-bestanden. Er
gebeurt inderdaad zelfs geen simpele toets van de controlesom. (Hoogwaardig
gereedschap, zoals APT, ondersteunt het authenticeren van pakketten die van
een opgegeven pakketbron opgehaald werden. En tegenwoordig hebben de meeste
pakketten een md5sum-controlebestand dat door debian/rules gegenereerd werd.
Dit wordt echter niet rechtstreeks ondersteund door basaal gereedschap.)