dpkg-deb(1) | dpkg suite | 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 --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
- 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
- Specify which compression level to use on the compressor backend, when building a package (default is 9 for gzip, 6 for xz, 3 for zstd; long option since dpkg 1.22.9). The accepted values are compressor specific. For gzip, from 0-9 with 0 being mapped to compressor none. For xz from 0-9. For zstd from 0-22, with levels from 20 to 22 enabling its ultra mode. Before dpkg 1.16.2 level 0 was equivalent to compressor none for all compressors.
- -S, --compression-strategy=compress-strategy
- Specify which compression strategy to use on the compressor backend, when building a package (since dpkg 1.16.2, long option since dpkg 1.22.9). Allowed values are none (since dpkg 1.16.4), filtered, huffman, rle and fixed for gzip (since dpkg 1.17.0) and extreme for xz.
- -Z, --compression=compress-type
- Specify which compression type to use when building a package (long option since dpkg 1.22.9). 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.
- DPKG_NLS
- If set, it will be used to decide whether to activate Native Language Support, also known as internationalization (or i18n) support (since dpkg 1.22.7). The accepted values are: 0 and 1 (default).
- 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).
Since 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>.
2024-08-01 | 1.22.11 |