Como um administrador de sistemas Debian, você rotineiramente manipula pacotes .deb, já que eles contêm unidades funcionais consistentes (aplicações, documentação, etc.), cujas instalação e manutenção eles facilitam. Logo é uma boa ideia saber exatamente o que são e como usá-los.
	
		Este capítulo descreve a estrutura e conteúdo dos pacotes "binários" e "fontes". Os primeiros são arquivos diretamente usáveis pelo dpkg, enquanto os segundos contém o código fonte, assim como as instruções para construir os pacotes binários.
	
5.1. Estrutura de um Pacote Binário
			O formato do pacote Debian foi projetado para que seu conteúdo possa ser extraído em qualquer sistema Unix que contenha os clássicos comandos ar, tar e xz ou às vezes gzip ou bzip2. Esta característica aparentemente trivial é importante para a portabilidade e recuperação de desastres.
		
			Imagine, por exemplo, que você apagou acidentalmente o programa 
dpkg, e que portanto você não pode mais instalar pacotes Debian. O 
dpkg sendo um pacote Debian em si, ao que parece seu sistema seria feito por... Felizmente, você conhece o formato de um pacote e pode então 
baixar o arquivo 
.deb do pacote 
dpkg e instalar ele manualmente (veja a barra lateral sidebar 
FERRAMENTAS dpkg, APT e ar) . Se por algum infortúnio um ou mais dos programas 
ar, 
tar ou 
gzip/
xz/
bzip2 tenham sumido, você só precisa copiar o programa faltoso de outro sistema (já que qualquer um destes opera de modo totalmente autônomo, sem dependências, uma simples cópia será suficiente). Se o seu sistema sofreu um desfortúnio ainda mais ultrajante, e mesmo esses não funcionam (talvez o sistema de bibliotecas mais profundo esteja faltando?), você deve tentar a versão estática do 
busybox (fornecido pelo pacote 
busybox-static), a qual é ainda mais autossuficiente, e provê sub comandos tais como 
busybox ar, 
busybox tar e 
busybox xz.
		
			Dê uma olhada no conteúdo de um arquivo .deb:
		
$ ar t dpkg_1.20.9_amd64.deb
debian-binary
control.tar.gz
data.tar.xz
$ ar x dpkg_1.20.9_amd64.deb
$ ls
control.tar.gz  data.tar.xz  debian-binary  dpkg_1.20.9_amd64.deb
$ tar tJf data.tar.xz | head -n 16
./
./etc/
./etc/alternatives/
./etc/alternatives/README
./etc/cron.daily/
./etc/cron.daily/dpkg
./etc/dpkg/
./etc/dpkg/dpkg.cfg
./etc/dpkg/dpkg.cfg.d/
./etc/logrotate.d/
./etc/logrotate.d/alternatives
./etc/logrotate.d/dpkg
./sbin/
./sbin/start-stop-daemon
./usr/
./usr/bin/
$ tar tJf control.tar.xz
./
./conffiles
./control
./md5sums
./postrm
$ cat debian-binary
2.0
			Como você pode ver, o arquivo ar de um pacote Debian é composto de três arquivos:
		
- debian-binary
- 
						This is a text file which simply indicates the version of the - .debfile package format version. In Debian Bullseye it is still version 2.0.
 
- control.tar.xz
- 
						Este arquivamento contém todas as meta-informações disponíveis, como o nome e a versão do pacote. Algumas destas meta-informações servem para que as ferramentas de gestão de pacotes determinem se é possível instalar e desinstalar o pacote, por exemplo, de acordo com a lista de pacotes já instalados na máquina.
					 
- data.tar.xz,- data.tar.bz2,- data.tar.gz
- 
						Este arquivamento contém todos os arquivos para serem extraídos do pacote; é onde os arquivos executáveis, documentação, etc, estão todos estocados. Pacotes podem usar outros formatos de compressão, e neste caso o arquivo terá um nome diferente para - xz,- bzip2or- gzip.