| deb(5) | dpkg suite | deb(5) |
NAAM¶
deb - Binair pakketformaat van Debian
OVERZICHT¶
bestandsnaam.deb
BESCHRIJVING¶
Het .deb-formaat is de indeling van een binair pakketbestand in Debian. Sinds dpkg 0.93.76 kan ermee gewerkt worden en standaard wordt ze gegenereerd sinds dpkg 1.2.0 en 1.1.1elf (i386/ELF-compilaties).
De hier beschreven indeling wordt gebruikt sinds Debian 0.93; de oude indeling wordt gedetailleerd beschreven in deb-old(5).
INDELING¶
Het bestand is een ar-archief met een magische waarde van !<arch>. Enkel de gewone ar-archiefindeling wordt ondersteund zonder lange bestandsnaamextensies, maar met bestandsnamen met facultatief een afsluitende slash, wat de lengte ervan beperkt tot 15 lettertekens (van de 16 die toegelaten zijn). De grootte van bestanden is beperkt tot 10 ASCII decimalen, waardoor tot ongeveer 9536.74 MiB aan bestandselementen toegelaten is.
De volgende tar-archieven zijn momenteel toegestaan:
- oude stijl (v7) indeling
- pre-POSIX ustar-indeling
- subset van de GNU-indeling
Nieuwe stijl lange padnamen en lange linknamen, ondersteund sinds dpkg 1.4.1.17; grote bestandsmetadata sinds dpkg 1.18.24.
- POSIX ustar-indeling
Lange namen ondersteund sinds dpkg 1.15.0.
Niet-herkende tar-typevlaggen worden als een fout beschouwd. Binnen een tar-archief is de grootte van elk item standaard beperkt tot 11 ASCII octale cijfers, hetgeen tot maximaal 8 GiB aan tar-items mogelijk maakt. De ondersteuning voor uitgebreide bestandsmetadata in de GNU-indeling maakt een grootte mogelijk van 95 bits voor een tar-item, negatieve tijdstempels en UID-, GID- en apparaatnummers van 63 bits, wat neerkomt op praktisch onbeperkte waarden.
Het ar-archief is samengesteld uit meerdere elementen in een specifieke volgorde:
- debian-binary
- Het eerste verplichte element bevat een aantal regels, gescheiden door
regeleinden. Momenteel, op het moment van het schrijven van deze
man-pagina, heeft dit slechts één regel, het versienummer
van de indeling, 2.0. Programma's die archieven lezen in de nieuwe
indeling, moeten erop voorbereid zijn dat het onderversienummer verhoogd
wordt en dat er nieuwe regels aanwezig kunnen zijn. En als dat het geval
is, moeten ze die negeren.
Indien het hoofdversienummer gewijzigd werd, werd een niet-compatibele wijziging gemaakt en zou het programma moeten stoppen. Indien dit niet het geval is, dan zou het programma in staat moeten zijn probleemloos voort te gaan, tenzij het in het archief (behalve op het einde) een onverwacht element tegenkomt, zoals hierna beschreven wordt.
- control.tar
- Het tweede verplichte element is een tar-archief dat de pakketmetadata
bevat.
Het kan de volgende compressiemethoden gebruiken:
- geen (ondersteund sinds dpkg 1.17.6)
- gzip (met de extensie .gz)
- xz (met de extensie .xz, ondersteund sinds dpkg 1.17.6)
- zstd (met de extensie .zst, ondersteund sinds dpkg 1.21.18)
Het bevat een reeks gewone bestanden:
De controle-tarball kan optioneel een vermelding bevatten voor ‘.’, de huidige map.
- data.tar
- Het derde en laatste verplichte element bevat het bestandssysteem als een
tar-archief.
Het kan de volgende compressiemethoden gebruiken:
- geen (ondersteund sinds dpkg 1.10.24)
- gzip (met de extensie .gz)
- xz (met de extensie .xz, ondersteund sinds dpkg 1.15.6)
- zstd (met de extensie .zst, ondersteund sinds dpkg 1.21.18)
- bzip2 (met de extensie .bz2, ondersteund sinds dpkg 1.10.24)
- lzma (met de extensie .lzma, ondersteund sinds dpkg 1.13.25)
Deze elementen moeten exact in deze volgorde voorkomen. Huidige implementaties moeten eventuele bijkomende elementen na data.tar negeren. Het kan zijn dat in de toekomst meer elementen gedefinieerd worden, die (zo mogelijk) na deze drie geplaatst zullen worden. Eventuele bijkomende elementen die ingevoegd zouden moeten worden na debian-binary en voor control.tar of data.tar en die door oudere programma's probleemloos genegeerd zouden moeten worden, zullen namen krijgen die beginnen met een laag liggend streepje, ‘_’.
Nieuwe elementen die niet probleemloos genegeerd zullen mogen worden, zullen ingevoegd worden voor data.tar en zullen namen hebben die met iets anders dan een laag liggend streepje beginnen, of (wat waarschijnlijker is) zullen tot gevolg hebben dat het hoofdversienummer verhoogd wordt.
MEDIATYPE¶
Huidig¶
application/vnd.debian.binary-package
Verouderd¶
application/x-debian-package
application/x-deb
ZIE OOK¶
deb-old(5), dpkg-deb(1), deb-control(5), deb-conffiles(5), deb-md5sums(5), deb-triggers(5), deb-shlibs(5), deb-symbols(5), deb-preinst(5), deb-postinst(5), deb-prerm(5), deb-postrm(5).
| 2026-01-23 | 1.23.5 |