O formato descrito aqui é usado desde Debian 0.93; detalhes do formato antigo estão descritos em deb-old(5).
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 lêem 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), 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 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), 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.
Se encontrar algum erro na tradução deste documento, por favor comunique para Américo Monteiro <a_monteiro@gmx.com>.