deb (formato de arquivo) - deb (file format)

Pacote Debian
Application-x-deb.svg
O ícone do GNOME para arquivos deb.
(Mostrando o logotipo do Debian em um pacote)
Extensão de nome de arquivo
.deb, .udeb
Tipo de mídia da Internet
application / vnd.debian.binary-package
Desenvolvido por Debian
Tipo de formato Sistema de gerenciamento de pacotes
Recipiente para Pacote de software
Estendido de arquivo de ar , tarball
Local na rede Internet especificação do formato deb

deb é o formato, bem como a extensão do formato do pacote de software para a distribuição Debian Linux e seus derivados .

Projeto

GDebi instalando um pacote .deb

Os pacotes Debian são arquivos Unix ar padrão que incluem dois arquivos tar . Um arquivo contém as informações de controle e outro contém os dados instaláveis.

dpkg fornece a funcionalidade básica para instalar e manipular pacotes Debian. Geralmente os usuários finais não gerenciam pacotes diretamente com o dpkg, mas em vez disso usam o software de gerenciamento de pacotes APT ou outros front-ends APT como aptitude ( nCurses ) e synaptic ( GTK ).

Os pacotes Debian podem ser convertidos em outros formatos de pacote e vice-versa usando alien , e criados a partir do código-fonte usando checkinstall ou o Debian Package Maker.

Alguns pacotes principais do Debian estão disponíveis como udeb s ("micro debs"), e são tipicamente usados ​​apenas para inicializar uma instalação do Debian. Embora esses arquivos usem a extensão de nome de arquivo udeb , eles seguem a mesma especificação de estrutura dos arquivos deb comuns . No entanto, ao contrário de suas contrapartes deb , os pacotes udeb contêm apenas arquivos funcionais essenciais. Em particular, os arquivos de documentação são normalmente omitidos. Os pacotes udeb não são instaláveis ​​em um sistema Debian padrão, mas são usados ​​no Debian-Installer .

Implementação

Diagrama mostrando um exemplo de estrutura de arquivo de um arquivo .deb
Editor hexadecimal Frhed exibindo os dados brutos de um pacote Debian.

Antes do Debian 0.93, um pacote consistia em um cabeçalho de arquivo e dois arquivos gzip concatenados . Desde o Debian 0.93, um pacote deb é implementado como um arquivo ar . Este arquivo contém três arquivos em uma ordem específica:

  1. debian-binary - Contém uma única linha fornecendo o número da versão do formato do pacote. ( 2.0para versões atuais do Debian).
  2. arquivo de controle - Um arquivo tar denominado control.tarcontém os scripts do mantenedor e as meta-informações do pacote (nome do pacote, versão, dependências e mantenedor). A compactação do arquivo com gzip ou xz é suportada. A extensão do arquivo muda para indicar o método de compressão.
  3. arquivo de dados - Um arquivo tar denominado data.tarcontém os arquivos reais instaláveis. A compactação do arquivo com gzip , bzip2 , lzma ou xz é suportada. A extensão do arquivo muda para indicar o método de compressão.

Arquivo de controle

O conteúdo do arquivo de controle pode incluir os seguintes arquivos:

  • control contém uma breve descrição do pacote, bem como outras informações, como suas dependências.
  • md5sums contém checksums MD5 de todos os arquivos no pacote para detectar arquivos corrompidos ou incompletos.
  • conffiles lista os arquivos do pacote que devem ser tratados como arquivos de configuração. Os arquivos de configuração não são substituídos durante uma atualização, a menos que seja especificado.
  • preinst , postinst , prerm e postrm são scripts opcionais que são executados antes ou depois de instalar ou remover o pacote.
  • config é um script opcional que suporta o mecanismo de configuração debconf .
  • lista shlibs de dependências de bibliotecas compartilhadas.

Pacotes assinados

Distribuições baseadas em Debian suportam verificação de assinatura GPG de pacotes Debian assinados, mas a maioria (se não todos) tem esse recurso desabilitado por padrão. Em vez disso, os pacotes são verificados assinando os metadados do repositório (ou seja, Releasearquivos). Os arquivos de metadados, por sua vez, incluem somas de verificação para os arquivos do repositório como um meio de verificar a autenticidade dos arquivos. Atualmente, existem duas implementações diferentes para assinar pacotes individuais. O primeiro é feito por meio do debsigs/ debsig-verifytoolset, que é suportado pelo dpkg . O segundo é feito através do dpkg-sigprograma que não é suportado pelo dpkg , então os pacotes devem ser verificados manualmente com o dpkg-sigprograma. Ambos os formatos adicionam novas seções ao arquivo ar para armazenar as informações da assinatura, mas os formatos não são compatíveis entre si. Nenhuma das modificações no formato do pacote está listada no manual oficial do Debian ou na página do manual sobre o formato do pacote binário.

Adoção

Veja também

Referências

links externos