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.

The tar archives currently allowed are, the old-style (v7) format, the pre-POSIX ustar format, a subset of the GNU format (new style long pathnames and long linknames, supported since dpkg 1.4.1.17; large file metadata since dpkg 1.18.24), and the POSIX ustar format (long names supported since dpkg 1.15.0). Unrecognized tar typeflags are considered an error. Each tar entry size inside a tar archive is limited to 11 ASCII octal digits, allowing for up to 8 GiB tar entries. The GNU large file metadata support permits 95-bit tar entry sizes and negative timestamps, and 63-bit UID, GID and device numbers.

Het eerste element wordt debian-binary genoemd en 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.

Het tweede vereiste element wordt control.tar genoemd. Het is een tar-archief dat de controle-informatie van het pakket bevat, ofwel niet-gecomprimeerd (ondersteund sinds dpkg 1.17.6) of gecomprimeerd met gzip (met de extensie .gz) of met xz (met de extensie .xz, ondersteund sinds 1.17.6), onder de vorm van een reeks gewone bestanden, waarvan het bestand control, dat de kern van de controle-informatie bevat, verplicht deel uitmaakt. De bestanden conffiles, triggers, shlibs en symbols bevatten facultatieve controle-informatie en de bestanden preinst, postinst, prerm en postrm zijn facultatieve scripts van de pakketonderhouder. Het controle-tar-archief kan facultatief een vermelding bevatten van ‘.’, de huidige map.

Het derde en laatste verplichte element wordt data.tar genoemd. Het bevat het bestandssysteem in de vorm van een tar-archief, dat ofwel niet-gecomprimeerd is (ondersteund sinds dpkg 1.10.24) of gecomprimeerd met gzip (met de extensie .gz), met xz (met de extensie .xz, ondersteund sinds dpkg 1.15.6), met bzip2 (met de extensie .bz2, ondersteund sinds dpkg 1.10.24) of met 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-triggers(5), deb-shlibs(5), deb-symbols(5), deb-preinst(5), deb-postinst(5), deb-prerm(5), deb-postrm(5).