table of contents
dpkg-deb(1) | dpkg suite | dpkg-deb(1) |
NAAM¶
dpkg-deb - gereedschap voor het behandelen van een Debian pakketarchief (.deb)
OVERZICHT¶
dpkg-deb [optie...] commando
BESCHRIJVING¶
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.
COMMANDO'S¶
- -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 beheerder 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 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.
OPTIES¶
- --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=compress-level
- Specify which compression level to use on the compressor backend, when building a package (default is 9 for gzip, 6 for xz, 3 for zstd; long option since dpkg 1.22.9). The accepted values are compressor specific. For gzip, from 0-9 with 0 being mapped to compressor none. For xz from 0-9. For zstd from 0-22, with levels from 20 to 22 enabling its ultra mode. Before dpkg 1.16.2 level 0 was equivalent to compressor none for all compressors.
- -S, --compression-strategy=compress-strategy
- Specify which compression strategy to use on the compressor backend, when building a package (since dpkg 1.16.2, long option since dpkg 1.22.9). Allowed values are none (since dpkg 1.16.4), filtered, huffman, rle and fixed for gzip (since dpkg 1.17.0) and extreme for xz.
- -Z, --compression=compress-type
- Specify which compression type to use when building a package (long option since dpkg 1.22.9). Allowed values are gzip, xz (since dpkg 1.15.6), zstd (since dpkg 1.21.18) and none (default 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.
- --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.
AFSLUITSTATUS¶
- 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.
OMGEVING¶
- 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
- If set, it will be used to decide whether to activate Native Language Support, also known as internationalization (or i18n) support (since dpkg 1.22.7). The accepted values are: 0 and 1 (default).
- 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.
OPMERKINGEN¶
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.
BEVEILIGING¶
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.
BUGS¶
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.)
ZIE OOK¶
/usr/share/doc/packages/dpkg/spec/rootless-builds.txt, deb(5), deb-control(5), dpkg(1), dselect(1).
2024-08-01 | 1.22.11 |