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.
Unless you specify --no-check, dpkg-deb will
read DEBIAN/control and parse it. It will check the file for
syntax errors and other problems, and display the name of the binary
package being built. dpkg-deb will also check the permissions of
the maintainer scripts and other files found in the DEBIAN
control information directory.
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.
If the second argument is a directory then dpkg-deb
will write to the file
directory/package_version_arch.deb.
When a target directory is specified, rather than a file, the
--no-check option may not be used (since dpkg-deb needs to
read and parse the package control file to determine which filename to
use).
- -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
archief map
- 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
archief map
- 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”.
- -z,
--compression-level=compressieniveau
- Specificeren welk compressieniveau gebruikt moet worden door het
compressieprogramma bij het bouwen van het pakket (standaard is dat 9 voor
gzip, 6 voor xz, 3 voor zstd; lange optie sinds dpkg 1.22.9). Toegestane
waarden zijn compressorafhankelijk. Voor gzip is dat 0-9, waarbij 0
vertaald wordt als geen compressie. Voor xz is dat 0-9. Voor zstd is dat
0-22, waarbij de niveaus 20 tot 22 de ultra-modus activeren. Voor dpkg
1.16.2 was niveau 0 het equivalent van geen compressie voor alle
compressieprogramma's.
- -S,
--compression-strategy=compressiestrategie
- Specificeren welke compressiestrategie gebruikt moet worden door het
compressieprogramma bij het bouwen van een pakket (sinds dpkg 1.16.2,
lange optie sinds dpkg 1.22.9). 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.
- -Z,
--compression=compressietype
- Specificeren welk compressietype bij het bouwen van een pakket gebruikt
moet worden (lange optie sinds dpkg 1.22.9). Toegestane waarden zijn
gzip, xz (sinds dpkg 1.15.6), zstd (sinds dpkg
1.21.18) 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, xz en zstd. De optie
--no-uniform-compression schakelt uniforme compressie uit (sinds
dpkg 1.19.0). Uniforme compressie is de standaard (sinds dpkg
1.19.0).
- --threads-max=threads
- Stelt het maximum aantal threads in dat is toegestaan voor compressors die
multi-threaded operaties ondersteunen (sinds dpkg 1.21.9).
- --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.
- --no-check
- 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.
Option supported since dpkg 1.22.12.
- --nocheck
- This is an alias for --no-check.
- -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_DEB_THREADS_MAX
- Stelt het maximum aantal threads in dat is toegestaan voor compressors die
multi-threaded operaties ondersteunen (sinds dpkg 1.21.9).
De optie --threads-max heft deze waarde op.
- DPKG_DEB_COMPRESSOR_TYPE
- Stelt het te gebruiken datacompressietype in (sinds dpkg 1.21.10).
De optie -Z heeft voorrang op deze waarde.
- DPKG_DEB_COMPRESSOR_LEVEL
- Stelt het te gebruiken datacompressieniveau in (sinds dpkg 1.21.10).
De optie -z heeft voorrang op deze waarde.
- DPKG_COLORS
- Stelt de kleurmodus in (sinds dpkg 1.18.5). Waarden die momenteel gebruikt
mogen worden zijn: auto (standaard), always en
never.
- DPKG_NLS
- Indien dit ingesteld is, zal het gebruikt worden om te beslissen over het
activeren van moedertaalondersteuning, ook gekend als
internationaliseringsondersteuning (of i18n) (sinds dpkg 1.22.7). Geldige
waarden zijn: 0 and 1 (standaard).
- 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.
Sinds dpkg 1.18.8.
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.
Het onderzoeken van niet-vertrouwde pakketarchieven of het
uitpakken ervan in staging-mappen moet worden beschouwd als een grens van
veiligheid en elke doorbreking van die grens als gevolg van deze handelingen
moet worden beschouwd als een veiligheidslek. Het omgaan met niet-vertrouwde
pakketarchieven mag niet lichtvaardig gebeuren, aangezien het totale gebied
elke ondersteunde compressiebibliotheek omvat, naast de archiefindelingen en
controlebestanden zelf. Het uitvoeren van deze operaties op basis van
niet-vertrouwde gegevens als root wordt sterk afgeraden.
Het bouwen van pakketarchieven mag alleen worden uitgevoerd op
basis van vertrouwde gegevens.
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 het controlegetal.
(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.)
/usr/share/doc/dpkg/spec/rootless-builds.txt,
deb(5), deb-control(5), dpkg(1), dselect(1).