dpkg-deb - ferramenta de manipulação de arquivos de
pacote Debian (.deb)
dpkg-deb [option...] command
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.
- -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.
- --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”.
- -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
- Especifica qual tipo de compressão usar quando compila um pacote.
Valores permitidos são gzip, xz (desde dpkg 1.15.6),
zstd (desde dpkg 1.21.18) e none (a
predefinição é zstd).
- --[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.
- 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.
- 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
- 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.
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.
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.
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.)
/usr/share/doc/dpkg/spec/rootless-builds.txt,
deb(5), deb-control(5), dpkg(1), dselect(1).
Américo Monteiro
Se encontrar algum erro na tradução deste documento,
por favor comunique para Américo Monteiro
<a_monteiro@gmx.com>.