deb(5) | dpkg suite | deb(5) |
deb - Formato Debian de pacotes binários
filename.deb
O formato .deb é o formato de ficheiro de pacote binários Debian. É compreendido deste o dpkg 0.93.76, e é gerado por predefinição desde o dpkg 1.2.0 e 1.1.1elf (i386/compilações ELF).
O formato descrito aqui é usado desde Debian 0.93; detalhes do formato antigo estão descritos em deb-old(5).
O ficheiro é um arquivo ar com um valor mágico de !<arch>. Apenas é suportado o formato de arquivo ar comum, sem extensões longas de nome de ficheiro, mas com nomes de ficheiro que contêm uma barra invertida opcional, o que limita o seu comprimento a 15 caracteres (dos 16 permitidos). Os tamanhos dos ficheiros são limitados a 10 dígitos decimais do ASCII, permitindo aproximadamente 9536.74 MiB de ficheiros membros.
Os arquivos tar actualmente permitidos são, o formato de estilo antigo (v7), o formato ustar pré-POSIX, um subconjunto do formato GNU (nomes de caminho longos e nomes de links longos no novo estilo suportados desde dpkg 1.4.1.17; metadados de ficheiros longos desde dpkg 1.18.24), e o formato ustar do POSIX (nomes longos suportados desde o dpkg 1.15.0). Tipos de flags de tar não reconhecidas são consideradas um erro. Cada tamanho de entrada tar dentro do arquivo tar está limitada a 11 dígitos ASCII em octal, permitindo até 8 GiB de entradas tar. O suporte a metadados de ficheiros longos de GNU permite tamanhos de entrada tar de 95-bit e marcas temporais negativas, e UID de 63-bit, GID e números de dispositivos.
O primeiro membro é chamado debian-binary e contém uma série de linhas, separadas por novas linhas. Actualmente está presente apenas uma linha, o número de versão do formato, 2.0 na altura que este manual foi escrito, Programas que leem arquivos de novo formato deve estar preparados para o número menor estar aumentado e e estarem presentes novas linhas, e devem ignorar estas se for o caso.
Se o número maior mudou, foi feita uma mudança incompatível e o programa deverá parar. Se não o fizer, então o programa deve ser capaz de continuar em segurança, a menos que encontre um membro inesperado no arquivo (excepto no fim), como descrito em baixo.
O segundo membro obrigatório é chamado control.tar. É um arquivo tar que contém a informação de controle do pacote, esteja não comprimido (suportado desde dpkg 1.17.6), ou comprimido com gzip (com extensão .gz) ou xz (com extensão .xz, suportado desde 1.17.6), zstd (com extensão .zst, suportado desde dpkg 1.21.18), como uma série de ficheiros simples, do qual o ficheiro control é obrigatório e contém a informação de controle do núcleo, os ficheiros md5sums, conffiles, triggers, shlibs e symbols contêm informação de controle opcional, e os ficheiros preinst, postinst, prerm e postrm são scripts opcionais do maintainer. O tarbal de controle pode opcionalmente conter uma entrada para ‘.’, o directório actual.
O terceiro e último membro obrigatório é chamado data.tar. Contém o sistema de ficheiros como um arquivo tar, esteja não comprimido (suportado desde dpkg 1.10.24), ou comprimido com gzip (com extensão .gz), xz (com extensão .xz, suportado desde dpkg 1.15.6), zstd (com extensão .zst suportado desde dpkg 1.21.18), bzip2 (com extensão .bz2, suportado desde dpkg 1.10.24) ou lzma (com extensão .lzma, suportado desde dpkg 1.13.25).
Estes membros têm de ocorrer na ordem exacta. As implementações actuais deverão ignorar quaisquer membros adicionais após o data.tar. Podem ser definidos mais membros no futuro, e (se possível) serão colocados após estes três. Quaisquer membros adicionais que possam precisar de serem inseridos após debian-binary e antes de control.tar ou data.tar e que deverão ser seguramente ignorados por programas mais antigos, terão os nomes a começar com um underscore, ‘_’.
Estes novos membros que não serão capazes de serem ignorados em segurança irão ser inseridos antes de data.tar com nomes que começam com algo diferente de underscores (_), ou irão (mais provavelmente) causar que o número de versão maior seja aumentado.
application/vnd.debian.binary-package
application/x-debian-package
application/x-deb
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).
Américo Monteiro
Se encontrar algum erro na tradução deste documento, por favor comunique para Américo Monteiro <a_monteiro@gmx.com>.
2023-05-11 | 1.21.22 |