Manpages

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 --nocheck, 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 --nocheck 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

Extracts the control data from a binary package and sends it to standard output in tar format (since dpkg 1.17.14). Together with tar(1) this can be used to extract a particular control file from a package archive. The input archive will always be processed sequentially.

--fsys-tarfile archive

Extracts the filesystem tree data from a binary package and sends it to standard output in tar format. Together with tar(1) this can be used to extract a particular file from a package archive. The input archive will always be processed sequentially.

-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.

The string may reference any status field using the “${field-name}” form, a list of the valid fields can be easily produced using -I on the same package. A complete explanation of the formatting options (including escape sequences and field tabbing) can be found in the explanation of the --showformat option in dpkg-query(1).

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

-zcompress-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). 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.

-Scompress-strategy

Especifica qual a estratégia de compressão usar no backend compressor, quando compila um pacote (desde dpkg 1.16.2). 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.

-Zcompress-type

Specify which compression type to use when building a package. Allowed values are gzip, xz (since dpkg 1.15.6), zstd (since dpkg 1.21.18) and none (default is 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.

--nocheck

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.

-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.

TMPDIR

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

SOURCE_DATE_EPOCH

If set, it will be used as the timestamp (as seconds since the epoch) in the deb(5)’s ar(5) container and used to clamp the mtime in the tar(5) file entries.

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 [AT] gmx.com>.