deb(5)

NAMN
deb - Debians binära paketformat

SYNOPS
filnamn.deb

BESKRIVNING
.deb-formatet är Debians binära paketformat. Det förstås sedan dpkg 0.93.76, och genereras som förval sedan dpkg 1.2.0 och 1.1.1elf (i386/ELF-versioner).

Formatet som beskrivs här används sedan Debian 0.93; detaljer om det gamla formatet finns i deb-old(5).

FORMAT
Filen är ett ar-arkiv med det magiska numret !<arch>. Endast det gemensamma ar-arkivformatet stöds, utan utökningar för långa filnamn, men med filnamn som kan innehålla ett avslutande snedstreck, vilket begränsar deras längd till 15 tecken (från de 16 tillåtna). Filstorlekar begränsas till 10 decimala ASCII-tecken, vilket tillåter ungefär 9536,74 MiB filer.

De tar-arkiv som tillåts för närvarande är:

•   den gamla stilens format (v7)

•   för-POSIX-ustar-formatet

•   en delmängd av GNU-formatet

    Nya stilens långa sökvägsnamn och långa länknamn, stöds sedan dpkg 1.4.1.17; stora filmetadata sedan dpkg 1.18.24.

•   POSIX-ustar-formatet

    Långa namn stöds sedan dpkg 1.15.0.

Okända tar-typflaggor anses utgöra fel. Som standard är enskilda tar-poststorlekar inuti ett tar-arkiv är begränsade till 11 oktala ASCII-siffror, vilket tillåter tar-poster upp till 8 GiB. GNU:s stora filmetadata tillåter 95 bitar stora tar-poststorlekar och negativa tidsstämplar, och 63-bitars UID, GID och enhetsnummer.

ar-arkivet består av flera delar i en specifik ordning:

debina-binary
    Den första nödvändiga posten i arkivet innehåller ett antal rader, avdelade med nyradstecken. För närvarande finns endast en rad, formatets versionsnummer, 2.0 när den här manualsidan skrevs. Program som läser arkiv i det nya formatet bör vara förberedda på att underversionsnumret kan komma att ökas, och att nya rader kan förekomma, och ska i så fall ignorera dessa.

    Om huvudversionsnumret har ändrats har en inkompatibel ändring införts, och programmet ska avbrytas. Om så inte har gjorts, ska programmet kunna fortsätta utan problem, såvida det inte stöter på en oväntad post i arkivet (förutom i slutet), enligt vad beskrivs nedan.

control.tar
    Den andra nödvändiga posten är ett tar-arkiv som innehåller paketets metadata.

    Det kan använda följande komprimeringstyper:

    •   ingen (stöds sedan dpkg 1.17.6)

    •   gzip (med filtillägget .gz)

    •   xz (med filtillägget .xz, stöds sedan 1.17.6)

    •   zstd (med filtillägget .zst, stöds sedan dpkg 1.21.18)

    Det innehåller ett antal vanliga filer:

    control
        Påkrävd styrinfomration, i deb822(5)-formatet.

    md5sums
    conffiles
    triggers
    shlibs
    symbols
        Valfri paketmetadata.

    preinit
    postinst
    prerm
    postrm
        Valfria utvecklarskript.

    Tarbollen control kan eventuellt innehålla en post för ”.”, den aktuella katalogen.

data.tar
    Den tredje och sista nödvändiga posten innehåller filsystemet som ett tar-arkiv.

    Det kan använda följande komprimeringstyper:

    •   ingen (stöds sedan dpkg 1.10.24)

    •   gzip (med filtillägget .gz)

    •   xz (med filtillägget .xz, stöds sedan 1.15.6)

    •   zstd (med filtillägget .zst, stöds sedan dpkg 1.21.18)

    •   bzip2 (med filtillägget .bz2, stöds sedan dpkg 1.10.24)

    •   lzma (med filtillägget .lzma, stöds sedan dpkg 1.13.25)

Dessa poster måste ligga i exakt denna ordning. Nuvarande implementationer bör ignorera eventuella ytterligare poster efter data.tar. Ytterligare poster kan komma att definieras i framtiden, och kommer (om möjligt) placeras efter dessa tre. Eventuella ytterligare poster som kan komma att behöva läggas till efter debian-binary och före control.tar eller data.tar och som kan ignoreras av äldre program utan problem kommer att ha namn som börjar med understreck, ”_”.

Nya poster som inte kommer att kunna ignoreras utan problem kommer att läggas in före data.tar med namn som börjar med något annat än understreck, eller (mer troligt) göra att huvudversionsnumret ökas.

MEDIATYP

  Nuvarande
application/vnd.debian.binary-package

  Föråldrade
application/x-debian-package

application/x-deb

SE ÄVEN
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).

ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.