dpkg-deb(1)

NOME
dpkg-deb - ferramenta de manipulação de arquivos de pacote Debian (.deb)

RESUMO
dpkg-deb [option...] command

DESCRIÇÃO
dpkg-deb empacota, desempacota e fornece informação acerca de arquivos Debian.

Use o dpkg para instalar e remover pacotes do seu sistema.

Você também pode invocar o dpkg-deb ao chamar o dpkg com quaisquer opções que deseje passar ao dpkg-deb. O dpkg vai perceber que você quer o dpkg-deb e corre-o por si.

Para a maioria dos comandos que recebem uma entrada de argumento de arquivo, o arquivo pode ser lido a partir da entrada standard se o nome de arquivo for dado por um único caractere de menos («-»); caso contrário a falta de suporte será documentada na sua descrição respectiva ao comando.

COMANDOS

-b, --build binary-directory [archive|directory]
    Cria um arquivo debian para a árvore de sistema de ficheiros armazenada em binary-directory. binary-directory tem de ter um sub-directório DEBIAN, o qual contém os ficheiros de informação de controlo tais como o próprio ficheiro control. Este directório não irá aparecer no arquivo de sistema de ficheiros do pacote binários, mas em vez disso os ficheiros nele serão postos na área de informação de controlo do pacote binário.

    A menos que você especifique --no-check, dpkg-deb irá ler DEBIAN/control e analisa-lo. Irá verificar o ficheiro por erros de sintaxe e outros problemas, e mostrar o nome do pacote binário a ser compilado. dpkg-deb irá também verificar as permissões dos scripts do maintainer e outros ficheiros encontrados no directório de informação de controlo DEBIAN.

    Se não for especificado nenhum archive então o dpkg-deb irá escrever o pacote no ficheiro binary-directory.deb.

    Se o arquivo a ser criado já existir, ele será sobrescrito.

    Se o segundo argumento for um directório então dpkg-deb irá escrever para o ficheiro directory/package_version_arch.deb. Quando é especificado um directório alvo, em vez de um ficheiro, a opção --no-check pode não ser usada (pois dpkg-deb precisa de ler e analisar o ficheiro de controle do pacote para determinar qual o nome de ficheiro a suar).

-I, --info archive [control-file-name...]
    Fornece informação acerca de um arquivo de pacote binário.

    Se nenhum control-file-name for especificado então irá escrever um sumário do conteúdo do pacote assim como e seu ficheiro de controlo.

    Se alguns control-file-names forem especificados então dpkg-deb irá escreve-los pela ordem que forma especificados; se qualquer dos componentes não estiver presente, irá escrever uma mensagem de erro no stderr acerca de cada um e terminar com estados 2.

-W, --show archive
    Fornece informação acerca do arquivo de um pacote binário no formato especificado pelo argumento --showformat. O formato predefinido mostra o nome do pacote e a versão em uma linha, separados por um tabulador.

-f, --field archive [control-field-name...]
    Extrai informação de ficheiro de controle de um arquivo de pacote binário.

    Se nenhum control-field-name for especificado então irá escrever o ficheiro de controle completo.

    Se algum for especificado então dpkg-deb irá escrever o seu conteúdo, na ordem que eles aparecem no ficheiro de controle. Se for especificado mais do que um control-field-name então dpkg-deb irá preceder cada um com o seu nome de campo (e dois pontos e espaço).

    Não são reportados erros para campos requisitados mas não encontrados.

-c, --contents archive
    Lista o conteúdo da porção de arquivo da árvore do sistema de ficheiros do arquivo pacote. É presentemente produzido no formato gerado pela listagem detalhada do tar.

-x, --extract archive directory
    Extrai a árvore do sistema de ficheiros a partir do arquivo de pacote para o directório especificado.

    Note que extrair um pacote para o directório raiz não irá resultar numa instalação correcta! Use o dpkg para instalar pacotes.

    directory (mas não os seus parentes) será criada se necessário, e as suas permissões modificadas para corresponder ao conteúdo do pacote.

-X, --vextract archive directory
    É como --extract (-x) com --verbose (-v) o que escreve uma listagem dos ficheiros extraídos ao avançar.

-R, --raw-extract archive directory
    Extrai a árvore do sistema de ficheiros de um arquivo pacote para um directório especificado, e os ficheiros de informação de controlo para um sub-directório DEBIAN do directório especificado (desde dpkg 1.16.1).

    O directório alvo (mas não os seus parentes) será criado se necessário.

    O arquivo de entrada não é (actualmente) processado sequencialmente, portanto lê-lo a partir da entrada standard («-») não é suportado.

--ctrl-tarfile archive
    Extrai os dados de controlo de um pacote binário e envia-os para a saída standard em formato tar (desde dpkg 1.17.14). Juntamente com tar(1) isto pode ser usado para extrair um ficheiro de controlo particular de um arquivo pacote. O arquivo de entrada será sempre processado sequencialmente.

--fsys-tarfile archive
    Extrai os dados de árvore de sistema de ficheiros de um pacote binário e envia-os para a saída standard em formato tar. Juntamente com tar(1) isto pode ser usado para extrair um ficheiro particular de um arquivo pacote. O arquivo de entrada será sempre processado sequencialmente.

-e, --control archive [directory]
    Extrai ficheiros de informação de controlo a partir de uma arquivo de pacote para o directório especificado.

    Se nenhum directório for especificado, então é usado um sub-directório DEBIAN no directório actual.

    O directório alvo (mas não os seus parentes) será criado se necessário.

-?, --help
    Mostra a mensagem de utilização e termina.

--version
    Mostra a versão e termina.

OPÇÕES

--showformat=format
    esta opção é usada para especificar o formato dos resultados que --show irá produzir. O formato é uma string que será escrita para cada pacote listado.

    A string pode referenciar qualquer campo de estado usado o formato “${field-name}”, uma lista dos campos válidos pode ser produzida facilmente usando -I no mesmo pacote. Uma explicação completa das opções de formatação (incluindo sequências de escape e tabulação de campos) pode ser encontrada na explicação da opção --showformat em dpkg-query(1).

    A predefinição para este campo é “${Package}\t${Version}\n”.

-z, --compression-level=compress-level
    Especifica que nível de compressão usar no backend compressor, quando compila um pacote (a predefinição é 9 para gzip, 6 para xz, 3 para zstd; opção longa desde dpkg 1.22.9). Os valores aceites são específicos do compressor. Para gzip de 0-9 com 0 a ser mapeado para nenhuma compressão. Para xz de 0-9. Para zstd de 0-22, com os níveis de 20 a 22 a ativarem o seu modo ultra. Antes do dpkg 1.16.2 o nível 0 era equivalente a nenhuma compressão para todos os compressores.

-S, --compression-strategy=compress-strategy
    Especifica qual a estratégia de compressão usar no backend compressor, quando compila um pacote (desde dpkg 1.16.2, opção longa desde dpkg 1.22.9). Valores permitidos são none (desde dpkg 1.16.4), filtered, huffman, rle e fixed para gzip (desde dpkg 1.17.0) e extreme para xz.

-Z, --compression=compress-type
    Especifica qual tipo de compressão usar quando compila um pacote (opção longa desde dpkg 1.22.9). Valores permitidos são gzip, xz (desde dpkg 1.15.6), zstd (desde dpkg 1.21.18) e none (a predefinição é xz).

--[no-]uniform-compression
    Especifica que os mesmos parâmetros de compressão devem ser usados para todos os membros do arquivo (isto é, control.tar e data.tar; desde dpkg 1.17.6). Caso contrário apenas o membro data.tar irá usar estes parâmetros. Os únicos tipos de compressão suportados e permitidos para uso uniformizado são none, gzip, xz e zstd. A opção --no-uniform-compression desactiva a compressão uniforme (desde dpkg 1.19.0). Compressão uniforme é a predefinição (desde dpkg 1.19.0).

--threads-max=threads
    Define o número máximo de tópicos permitidos para compressores que suportam operações multi-tópico (desde dpkg 1.21.9).

--root-owner-group
    Define os dados de dono e grupo para cada entrada na árvore do sistema de ficheiros para root com id 0 (desde dpkg 1.19.0).

    Nota: Esta opção pode ser útil para compilações sem-root (veja rootless-builds.txt), mas não deve ser usada quando as entradas têm um dono ou um grupo que não seja o root. O suporte para estes irá ser adicionado mais tarde no formato de um meta manifesto.

--deb-format=format
    Define a versão de formato de arquivo usado quando compila (desde dpkg 1.17.0). Valores permitidos são 2.0 para o novo formato, e 0.939000 para o antigo (a predefinição é 2.0).

    O formato de arquivo antigo é menos facilmente analisado por ferramentas não-Debian e está agora obsoleto; o seu único uso é quando se compila pacotes para serem analisados por versões do dpkg anteriores a 0.93.76 (Setembro 1995), o qual foi um lançamento apenas para i386.

--no-check
    Inibe as verificações usuais de dpkg-deb --build no conteúdo proposto de um arquivo. Deste modo, você pode compilar qualquer arquivo que queira, não interessa o quanto estragado.

    Opção suportada desde dpkg 1.22.12.

--nocheck
    Este é um nome alternativo para --no-check.

-v, --verbose
    Activa resultados detalhados (desde dpkg 1.16.1). Isto actualmente apenas afecta --extract fazendo-o comportar-se como --vextract.

-D, --debug
    Activa resultados de depuração. Isto não é muito interessante.

ESTADO À SAÍDA

0   A acção requisitada foi executada com sucesso.

2   Erro fatal ou irrecuperável devido a utilização de linha de comandos inválida, ou interações com o sistema, tais como acesso à base de dados, alocações de memória, etc.

AMBIENTE

DPKG_DEB_THREADS_MAX
    Define o número máximo de tópicos permitidos para compressores que suportam operações multi-tópico (desde dpkg 1.21.9).

    A opção --threads-max sobrepõe este valor.

DPKG_DEB_COMPRESSOR_TYPE
    Define o tipo de compressão a usar (desde dpkg 1.21.10).

    A opção -Z sobrepõe este valor.

DPKG_DEB_COMPRESSOR_LEVEL
    Define o nível de compressão a usar (desde dpkg 1.21.10).

    A opção -z sobrepõe este valor.

DPKG_COLORS
    Define o modo de cor (desde dpkg 1.18.5). Os valores actualmente aceites são: auto (predefinido), always e never.

DPKG_NLS
    Se definida, será usada para decidir se deve activar o Suporte a Linguagem Nativa. Também como conhecido como suporte de internacionalização (ou i18n) (desde dpkg 1.22.7). Os valores aceites são 0 e 1 (predefinição).

DPKG_PATH_PASSWD
    Define o nome-de-caminho para o ficheiro passwd do sistema. Este caminho é relativo ao directório --root. A predefinição é /etc/passwd.

    Desde dpkg 1.22.16.

DPKG_PATH_GROUP
    Define o nome-de-caminho para o ficheiro group do sistema. Este caminho é relativo ao directório --root. A predefinição é /etc/group.

    Desde dpkg 1.22.16.

TMPDIR
    Se definido, dpkg-deb irá usa-lo como o directório onde criar ficheiros e directórios temporários.

SOURCE_DATE_EPOCH
    Se definido, será usado como marca temporal (em segundos desde a época) no contentor ar(5) de deb(5) e usado para engatar o mtime nas entradas do ficheiro tar(5).

    Desde dpkg 1.18.8.

NOTAS
Não tente usar o dpkg-deb para instalar software! Você deve usar o dpkg apropriado para assegurar que todos os ficheiros são colocados correctamente e os scripts do pacote correm e que os seus estados e conteúdos são gravados.

SEGURANÇA
Examinar arquivos de pacotes não-confiáveis ou extraí-los para directórios estagiários deve ser considerado um limite à segurança, e qualquer violação desse limite derivando dessas operações deve ser considerada uma vulnerabilidade na segurança. Mas manusear arquivos de pacotes não-confiáveis não deve ser feito com facilitismos, pois a área de superfície inclui qualquer biblioteca de compressão suportada, em adição aos formatos de arquivo e aos próprios ficheiros de controle. Executar essas operações sobre dados não-confiáveis como root é fortemente desaconselhado.

A compilação de arquivos de pacotes só deve ser executada sobre dados de confiança.

BUGS
dpkg-deb -I pacote1.deb pacote2.deb faz a coisa errada.

Não há autenticação nos ficheiros .deb; de facto, nem sequer há um sumário de verificação sincero. (Ferramentas de alto nível como o APT suportam autenticação de pacote .deb obtida a partir de um dado repositório, e a maioria dos pacotes hoje em dia fornecem um ficheiro de controle md5sum gerado por debian/rules. Apesar de isto não ser suportado directamente pelas ferramentas de baixo nível.)

VEJA TAMBÉM
/usr/share/doc/dpkg/spec/rootless-builds.txt, deb(5), deb-control(5), dpkg(1), dselect(1).

TRADUÇÃO
Américo Monteiro

Se encontrar algum erro na tradução deste documento, por favor comunique para Américo Monteiro <a_monteiro@gmx.com>.