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 tar-archieven die momenteel toegelaten zijn, zijn de indeling in oude stijl (v7), de pre-POSIX ustar-indeling, een subset van de GNU-indeling (enkel de lange padnamen en lange koppelingsnamen in nieuwe stijl, die sinds dpkg 1.4.1.17 ondersteund worden) en de 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 beperkt tot 11 ASCII octale cijfers, hetgeen tot maximaal 8 GiB aan tar-items mogelijk maakt.

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.

The second required member is named control.tar. It is a tar archive containing the package control information, either not compressed (supported since dpkg 1.17.6), or compressed with gzip (with .gz extension) or xz (with .xz extension, supported since 1.17.6), as a series of plain files, of which the file control is mandatory and contains the core control information, the conffiles, triggers, shlibs and symbols files contain optional control information, and the preinst, postinst, prerm and postrm files are optional maintainer scripts. The control tarball may optionally contain an entry for ‘.’, the current directory.

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).