dpkg
Section: dpkg suite (1)
Updated: 1970-01-01
Page Index
NOME
dpkg - gestor de pacotes para Debian
SINOPSE
dpkg [
option...]
action
AVISO
este manual destina-se a utilizadores que desejam compreender as opções de
linha de comandos do
dpkg e estados de pacotes em mais detalhe do que
aquele fornecido por
dpkg --help.
Não deverá ser usado por maintainers de pacotes que desejem compreender
como o dpkg irá instalar os seus pacotes. A descrição do que o dpkg
faz quando instala ou remove pacotes é particularmente inadequada.
DESCRIÇÃO
dpkg é uma ferramenta para instalar, compilar, remover e gerir pacotes
Debian. O principal e mais amigo-do-utilizador front-end para
dpkg é o
aptitude(8). O próprio
dpkg é controlado inteiramente via parâmetros
de linha de comandos, o que consiste de exactamente uma acção e zero ou mais
opções. O parâmetro-acção diz ao
dpkg o que fazer e as opções controlam o
comportamento da acção em algum modo.
O dpkg pode também ser usado como front-end para dpkg-deb(1) e
dpkg-query(1). A lista de acções suportadas pode ser encontrada mais
tarde na secção ACÇÕES. Se qualquer tal acção for encontrada, o dpkg
apenas corre dpkg-deb ou dpkg-query com os parâmetros dados a ele, mas
nenhuma opção especifica é presentemente passada para eles, para se qualquer
tal opção, os back-ends precisam de ser chamados directamente.
INFORMAÇÃO ACERCA DE PACOTES
O
dpkg mantém alguma informação utilizável sobre pacotes disponíveis. A
informação é dividida em três classes:
states,
selection states e
flags. Estes valores destinam-se a serem alterados principalmente com o
dselect.
Estados de pacote
- not-installed
-
Este pacote não está instalado no seu sistema.
- config-files
-
Only the configuration files or the postrm script and the data it needs
to remove of the package exist on the system.
- half-installed
-
A instalação do pacote foi iniciada, mas não foi acabada por alguma razão.
- unpacked
-
O pacote está desempacotado mas não configurado.
- half-configured
-
O pacote está desempacotado e a configuração foi iniciada, mas ainda não
está acabada por alguma razão.
- triggers-awaited
-
O pacote espera o processamento de trigger por outro pacote.
- triggers-pending
-
O pacote foi despoletado
- installed
-
O pacote está actualmente desempacotado e configurado.
Estados de selecção de pacote
- install
-
O pacote está seleccionado para instalação.
- hold
-
Um pacote marcado para estar em hold é mantido na mesma versão, isto é,
não serão executadas nenhumas novas instalações, actualizações ou remoções
automáticas nele, a menos que estas acções sejam requisitadas
explicitamente, ou sejam permitidas serem feitas automaticamente com a opção
--force-hold.
- deinstall
-
O pacote está seleccionado para desinstalação (isto é, queremos remover
todos os ficheiros, excepto os ficheiros de configuração).
- purge
-
O pacote está seleccionado para ser purgado (isto é, queremos remover tudo
dos directórios do sistema, até os ficheiros de configuração).
- unknown
-
A selecção de pacote é desconhecida. Um pacote que também está nu estado
not-installed, e com uma bandeira ok irá ser esquecido no próximo
armazenamento da base de dados.
Bandeiras (flags) do pacote
- ok
-
Um pacote marcado com ok está num estado conhecido, mas pode precisar de
mais processamento.
- reinstreq
-
Um pacote marcado com reinstreq está quebrado e requer
reinstalação. Estes pacotes não podem ser removidos, a menos que tal seja
forçado com a opção --force-remove-reinstreq.
ACÇÕES
- -i, --install package-file...
-
Instala o pacote. Se a opção --recursive ou -R for especificada,
ficheiro-pacote tem que se referir a um directório em vez de um ficheiro.
A instalação consiste nos seguintes passos:
1. Extrai os ficheiros de controle do novo pacote.
2. Se outra versão do mesmo pacote foi instalada antes da nova
instalação, executa o script prerm do pacote antigo.
3. Corre o script preinst, se disponibilizado pelo pacote.
4. Desempacota os novos ficheiros, e aos mesmo tempo salvaguarda os
ficheiros antigos, para que se algo correr mal, eles possam ser restaurados.
5. Se outra versão do mesmo pacote foi instalada antes da nova
instalação, executa o script postrm do pacote antigo. Note que este
script é executado depois do script preinst do novo pacote, porque novos
ficheiros são escritos ao mesmo tempo que ficheiros antigos são removidos.
6. Configura o pacote. Veja --configure para informação detalhada
sobre como isto é feito.
- --unpack package-file...
-
Desempacota o pacote, mas não o configura. Se a opção --recursive ou
-R for especificada, package-file deverá então referir-se a um
directório.
- --configure package...|-a|--pending
-
Configura um pacote que foi desempacotado mas ainda não configurado. Se for
fornecido -a ou --pending em vez de package, todos os pacotes
desempacotados mas não configurados são configurados.
Para reconfigurar um pacote que já foi instalado, tente usar o comando
dpkg-reconfigure(8).
A configuração consiste dos seguintes passos:
1. Desempacota os conffiles, e ao mesmo tempo faz salvaguardas dos
conffiles antigos, para que possam ser restaurados se algo correr mal.
2. Corre o script postinst, se fornecido pelo pacote.
- --triggers-only package...|-a|--pending
-
Processa apenas gatilhos (desde dpkg 1.14.17). Todos os gatilhos pendentes
serão processados. Se forem fornecidos nomes de pacotes, apenas os gatilhos
desses pacotes serão processados, exactamente uma vez onde necessário. O uso
desta opção pode deixar pacotes em estados triggers-awaited e
triggers-pending impróprios. Isto pode ser corrigido mais tarde ao
correr: dpkg --configure --pending.
- -r, --remove package...|-a|--pending
-
Remove um pacote instalado. Isto remove tudo excepto conffiles e outros
dados limpos pelo script postrm, o qual pode evitar de ter que
reconfigurar o pacote se for reinstalado mais tarde (conffiles são ficheiros
de configuração que estão listados no ficheiro de controle
DEBIAN/conffiles). Se não existir um ficheiro de controlo
DEBIAN/conffiles nem script DEBIAN/postrm, este comando é equivalente
a chamar --purge. Se for fornecido -a ou --pending em vez de um
nome de pacote , então são removidos todos os pacotes desempacotados mas
marcados para serem removidos no ficheiro /var/lib/dpkg/status.
Remover um pacote consiste nos seguintes passos:
1. Corre o script prerm
2. Remove os ficheiros instalados
3. Corre o script postrm
- -P, --purge package...|-a|--pending
-
Purga um pacote instalado ou já removido.Isto remove tudo, incluindo
conffiles, e tudo o resto limpo a partir do postrm. Se for fornecido
-a ou --pending em vez do nome de pacote, então todos os pacotes
desempacotados ou removidos, mas marcados para serem purgados no ficheiro
/var/lib/dpkg/status, serão purgados.
Nota: Alguns ficheiros de configuração podem ser desconhecidos para o
dpkg porque eles são criados e manuseados separadamente através dos
scripts de configuração. Nesse caso, o dpkg não irá remove-los sozinho,
mas o script postrm do pacote (que é chamado pelo dpkg), tem de fazer
a sua remoção durante a purga. Claro que, isto só se aplica a ficheiros em
directórios do sistema, e não a ficheiros de configuração escritos nos
directórios home de utilizadores individuais.
Purgar um pacote consiste nos seguintes passos:
1. Remover o pacote, se não estiver já removido. Veja --remove para
informação detalhada acerca de como isto é feito.
2. Correr o script postrm.
- -V, --verify [package-name...]
-
Verifica a integridade de package-name ou todos os pacotes se omitido, ao
comparar informação dos ficheiros instalados com a informação de metadados
de ficheiros guardada na base de dados do dpkg (desde dpkg 1.17.2). A
origem da informação de metadados de ficheiros na base de dados é os
próprios pacotes binários. Esses metadados são colecionados ao desempacotar
os ficheiros durante o processo de instalação.
Presentemente a única verificação funcional executada é uma verificação de
md5sum do conteúdo dos ficheiros contra o valor armazenado na base de dados
dos ficheiros. Só serão verificados se a base de dados conter o md5sum dos
ficheiros. Para verificar por quaisquer metadados em falta na base de dados,
pode ser usado o comando --audit.
O formato do resultado é seleccionável com a opção --verify-format, que
por predefinição usa o formato rpm, mas isso pode mudar no futuro, e como
tal, os programas que analisam resultado de comando devem estar explícitos
acerca do formato que esperam.
- -C, --audit [package-name...]
-
Executa testes de sanidade e consistência para package-name ou todos os
pacotes se omitido (verificações por pacote desde dpkg 1.17.10). Por
exemplo, procura por pacote que foram instalados apenas parcialmente no seu
sistema ou têm ficheiros ou dados de controle em falta, errados ou
obsoletos. O dpkg irá sugerir o que fazer com eles para os corrigir.
- --update-avail [Packages-file]
-
- --merge-avail [Packages-file]
-
Actualiza o conhecimento de dpkg's e dselect de quais pacotes estão
disponíveis. Com a acção --merge-avail, a informação antiga é combinada
com informação de Packages-file. Com a acção --update-avail,
informação antiga é substituída pela informação de Packages-file. O
Packages-file distribuído com Debian é simplesmente chamado
«Packages». Se o argumento Packages-file estiver em falta ou for
chamado «-» então será lido a partir da entrada standard (desde dpkg
1.17.7). dpkg mantém o seu registo de pacotes disponíveis em
/var/lib/dpkg/available.
Um comando único mais simples de obter e actualizar o ficheiro available
é dselect update. Note que este ficheiro é maioritariamente inútil se
você não usar o dselect mas um frontend baseado no APT: O APT tem o seu
próprio sistema para acompanhar os pacotes disponíveis.
- -A, --record-avail package-file...
-
Actualiza o conhecimento de dpkg's e dselect de quais pacotes estão
disponíveis com informação a partir do pacote package-file. Se forem
especificadas as opções --recursive ou -R, então package-file deve
referir-se a um directório.
- --forget-old-unavail
-
Agora obsoleto e uma não-opção pois o dpkg irá esquecer
automaticamente os pacotes não instalados e não disponíveis (desde dpkg
1.15.4), mas apenas aqueles que não contêm informação de utilizador tal como
selecções de pacotes.
- --clear-avail
-
Apaga a informação existente sobre que pacotes estão disponíveis.
- --get-selections [package-name-pattern...]
-
Obtém lista de selecções de pacotes, e escreve-a no stdout. Sem um padrão,
os pacotes não-instalados (isto é, aqueles que foram previamente purgados)
não serão mostrados.
- --set-selections
-
Define selecções de pacotes usando um ficheiro a partir de stdin. Este
ficheiro deve estar no formato "package state", onde state é um de
install, hold, deinstall ou purge. São também permitidas linhas
vazias e linhas de comentários começando com '#'.
O ficheiro available precisa de estar actualizado para que este comando
seja útil, caso contrário os pacotes desconhecidos serão ignorados com um
aviso. Veja os comandos --update-avail e --merge-avail para mais
informação.
- --clear-selections
-
Define o estado requerido de todos os pacotes não-essenciais para
``desinstalar'' (desde dpkg 1.13.18). Isto destina-se a ser usado
imediatamente antes de --set-selections, para desinstalar quaisquer
pacotes que não estejam na lista fornecida ao --set-selections.
- --yet-to-unpack
-
Procura por pacotes selecionados para instalação, mas que por alguma razão
ainda não foram instalados.
Nota: Este comando faz uso de ambos o ficheiro disponível e das selecções
do pacote.
- --predep-package
-
Escreve um pacote único que é o alvo de uma ou mais pré-dependências
relevantes e tem ele próprio pré-dependências não satisfeitas.
Se tal pacote estiver presente, escreve-o como uma entrada no ficheiro
Packages, o qual pode ser tratado como apropriado.
Nota: Este comando faz uso de ambos o ficheiro disponível e das selecções
do pacote.
Retorna 0 quando um pacote é escrito, 1 quando nenhum pacote apropriado está
disponível e 2 em caso de erro.
- --add-architecture architecture
-
Adiciona architecture à lista de arquitecturas para quais pacotes podem
ser instalados sem se usar --force-architecture (desde dpkg 1.16.2). A
arquitectura para qual o dpkg é compilado (isto é, o resultado de
--print-architecture) faz sempre parte dessa lista.
- --remove-architecture architecture
-
Remove architecture da lista de arquitecturas para quais pacotes podem
ser instalados sem se usar --force-architecture (desde dpkg 1.16.2). Se a
arquitectura estiver presentemente em uso na base de dados então a operação
será recusada, excepto se --force-architecture for especificado. A
arquitectura para qual o dpkg é compilado (isto é, o resultado de
--print-architecture) nunca pode ser removida dessa lista.
- --print-architecture
-
Escreve a arquitectura dos pacotes que o dpkg instala (por exemplo ,
"i386").
- --print-foreign-architectures
-
Escreve uma lista, com separação por novas linhas, de arquitecturas extra
que o dpkg tem configurado para permitir instalar pacotes para elas
(desde dpkg 1.16.2).
- --assert-feature
-
Afirma que o dpkg suporta a funcionalidade requerida. Retorna 0 se a
funcionalidade é totalmente suportada. 1 se a funcionalidade é conhecida mas
o dpkg ainda não pode suporta-la, e 2 se a funcionalidade é
desconhecida. A lista actual de funcionalidades afirmáveis é:
-
- support-predepends
-
Suporta o campo Pre-Depends (desde dpkg 1.1.0).
- working-epoch
-
Suporta épocas em strings de versão (desde dpkg 1.4.0.7).
- long-filenames
-
Suporta nomes de ficheiros longos em arquivos deb(5) (desde dpkg
1.4.1.17).
- multi-conrep
-
Suporta múltiplos Conflicts e Replaces (desde dpkg 1.4.1.19).
- multi-arch
-
Suporta campos multi-arch e semânticas (desde dpkg 1.16.2).
- versioned-provides
-
Suporta Provides com versão (desde dpkg 1.17.11).
- protected-field
-
Suporta o campo Protected (desde dpkg 1.20.1).
-
- --validate-thing string
-
Valida que a thing string tem a sintaxe correcta (desde dpkg
1.18.16). Retorna 0 se a string for válida, 1 se a string é inválida
mas pode ser aceite em contextos lax, e 2 se a string é inválida. A lista
actual de thing validáveis é:
-
- pkgname
-
Valida o nome de pacote fornecido (desde dpkg 1.18.16).
- trigname
-
Valida o nome de gatinho fornecido (desde dpkg 1.18.16).
- archname
-
Valida o nome de arquitectura fornecido (desde dpkg 1.18.16).
- version
-
Valida a versão fornecida (desde dpkg 1.18.16).
-
- --compare-versions ver1 op ver2
-
Compara números de versão, onde op é um operador binário. dpkg retorna
verdadeiro (0) se a condição especificada for satisfeita, e falso (1)
caso contrário. Existe dois grupos de operadores, que diferem em como eles
tratam um ver1 ou ver2 vazio. Estes tratam uma versão vazia mais cedo
que qualquer versão: lt le eq ne ge gt. Estes tratam uma versão vazia
mais tarde que qualquer versão: lt-nl le-nl ge-nl gt-nl. Estes são
fornecidos apenas para compatibilidade com sintaxe de ficheiros de controle:
< << <= = >= >> >. Os operadores <
e > estão obsoletos e não devem ser usados, devido a semânticas
confusas. Para ilustrar: 0.1 < 0.1 avalia para verdadeiro.
- -?, --help
-
Mostra uma mensagem de ajuda breve.
- --force-help
-
Oferece ajuda acerca das opções --force-qualquer-coisa.
- -Dh, --debug=help
-
Oferece ajuda acerca de opções de depuração.
- --version
-
Mostra informação de versão do dpkg.
Quando usado com --robot, o resultado será o número de versão de programa
num formato numérico pontuado, sem nenhuma nova linha.
- dpkg-deb actions
-
Veja dpkg-deb(1) para mais informações acerca das seguintes acções, e
outras acções e opções não expostas pelo front-end do dpkg.
-
- -b, --build directory [archive|directory]
-
Compila um pacote deb.
- -c, --contents archive
-
Lista o conteúdo de um pacote deb.
- -e, --control archive [directory]
-
Extrai informação-controle de um pacote.
- -x, --extract archive directory
-
Extrai os ficheiros contidos por um pacote.
- -X, --vextract archive directory
-
Extrai e mostra os nomes de ficheiros contidos por um pacote.
- -f, --field archive [control-field...]
-
Mostra campo(s) de controle de um pacote.
- --ctrl-tarfile archive
-
Resulta o ficheiro tar de controle contido num pacote Debian.
- --fsys-tarfile archive
-
Resulta o ficheiro tar de sistema de ficheiros contido num pacote Debian.
- -I, --info archive [control-file...]
-
Mostra informação acerca de um pacote.
-
- dpkg-query actions
-
Veja dpkg-query(1) para mais informações acerca das seguintes acções, e
outras acções e opções não expostas pelo front-end do dpkg.
-
- -l, --list package-name-pattern...
-
Lista pacotes que correspondem ao padrão dado.
- -s, --status package-name...
-
Reporta estado do pacote especificado.
- -L, --listfiles package-name...
-
Lista ficheiros instalados no seu sistema a partir de package-name.
- -S, --search filename-search-pattern...
-
Procura por um nome de ficheiro a partir de pacotes instalados.
- -p, --print-avail package-name...
-
Mostra detalhes acerca de package-name, como encontrado em
/var/lib/dpkg/available. Os utilizadores de frontends baseados no APT devem
usar apt show package-name em vez disto.
-
OPÇÕES
Todas as opções pode ser especificadas em ambos linha de comandos e no
ficheiro de configuração do
dpkg /etc/dpkg/dpkg.cfg ou em ficheiros
fragmento (com nomes a corresponder a este padrão de shell "[0-9a-zA-Z_-]*')
no directório de configuração
/etc/dpkg/dpkg.cfg.d/. Cada linha no
ficheiro de configuração é ou uma opção (exatamente igual a uma opção de
linha de comandos mas sem os hífens iniciais) ou um comentário (se começar
com '
#').
- --abort-after=number
-
Altera o após quantos erros o dpkg irá abortar. A predefinição é 50.
- -B, --auto-deconfigure
-
Quando um pacote é removido, existe a possibilidade que outro pacote
instalado dependa do pacote removido. Especificar esta opção irá provocar a
desconfiguração automática do pacote que dependia do pacote removido.
- -Doctal, --debug=octal
-
Switch debugging on. octal is formed by bitwise-ORing desired values
together from the list below (note that these values may change in future
releases). -Dh or --debug=help display these debugging values.
Número Descrição
1 Informação de progresso geralmente útil
2 Invocação e estado dos scripts do maintainer
10 Resultado de cada ficheiro processado
100 Montes de resultados de cada ficheiro processado
20 Resultado para cada ficheiro de configuração
200 Montes de resultados de cada ficheiro de configuração
40 Dependências e conflitos
400 Montes de resultados de dependências/conflitos
10000 Activação de gatilhos e processamento
20000 Montes de resultados relativos a gatilhos
40000 Quantidades tolas de resultados relativos a gatilhos
1000 Lotes acerca de drivel ex. o directório dpkg/info
2000 Lotes tolos de drivel
- --force-things
-
- --no-force-things, --refuse-things
-
Força ou recusa (no-force e refuse significa a mesma coisa) para fazer
algumas coisas. things é uma lista separada por vírgulas de coisas
especificadas em baixo. --force-help mostra uma mensagem que as
descreve. Coisas marcadas com (*) são forçadas por predefinição.
Aviso: Estas opções são maioritariamente destinadas a serem usadas apenas
por experts. Usá-las sem total conhecimento dos seus efeitos pode danificar
todo o seu sistema.
all: Liga (ou desliga) todas as opções de forçar.
downgrade(*): Instala um pacote, mesmo que já esteja instalada uma versão
dele mais recente.
Aviso: Presentemente o dpkg não efetua nenhuma verificação de
dependência em downgrades e por isso não irá avisa-lo se o downgrade quebrar
a dependência de algum outro pacote. Isto pode ter sérios efeitos
secundários, o downgrade de componentes essenciais do sistema pode até
inutilizar todo o seu sistema. Use com cuidado.
configure-any: Configura também quaisquer pacotes desempacotados mas não
configurados nos quais o pacote actual depende.
hold: Permite instalações, actualizações e remoções automáticas mesmo
quando marcado para estar em "hold". Nota: Isto não previne estas acções
quando requisitadas explicitamente.
remove-reinstreq: Remove um pacote, mesmo se estiver quebrado e marcado a
requerer reinstalação. Isto pode, por exemplo, causar que partes do pacote
fiquem no sistema, que serão depois esquecidos pelo dpkg.
remove-protected: Remove, mesmo se o pacote for considerado protegido
(desde dpkg 1.20.1). Os pacotes protegidos contêm maioritariamente a
importante infraestrutura de arranque do sistema. Removê-los pode causar que
todo o sistema seja incapaz de arrancar, portanto use com muito cuidado.
remove-essential: Remove, mesmo se o pacote for considerado essencial Os
pacotes essenciais contêm maioritariamente comandos Unix mais
básicos. Removê-los pode causar que todo o sistema pare de funcionar, por
isso use com cuidado.
depends: Torna todos os problemas de dependências em avisos. Isto afecta
os campos Pre-Depends and Depends.
depends-version: Não se interessa pelas versões quando verifica as
dependências. Isto afecta os campos Pre-Depends and Depends.
breaks: Instala, mesmo que isto danifique outro pacote (desde dpkg
1.14.6). Isto afecta o campo Breaks.
conflicts: Instala, mesmo que fique em conflito com outro pacote. Isto é
perigoso, pois geralmente causa a sobreposição de alguns ficheiros. Isto
afecta o campo Conflicts.
confmiss: Instala sempre o ficheiro de configuração em falta sem
avisar. Isto é perigoso, pois isto significa não preservar uma alteração
feita no ficheiro de configuração (removendo-a).
confnew: Se um ficheiro de configuração foi modificado e a versão do
pacote mudou, instala sempre a nova versão sem avisar, a menos que seja
também especificado --force-confdef, que neste caso é preferida a acção
predefinida.
confold: Se um ficheiro de configuração foi modificado e a versão do
pacote mudou, mantém sempre a versão antiga sem avisar, a menos que seja
também especificado --force-confdef, que neste caso é preferida a acção
predefinida.
confdef: Se um conffile foi modificado e a versão no pacote alterou,
escolhe sempre a acção predefinida sem perguntar. Se não existir acção
predefinida irá parar para pedir ao utilizador a menos que
--force-confnew ou --force-confold sejam também fornecidos, nesse caso
irá usar isso para decidir a acção final.
confask: Se um conffile foi modificado oferece-se sempre para o
substituir pela versão no pacote, mesmo que a versão no pacote não tenha
mudado (desde dpkg 1.15.8). Se algum de --force-confnew,
--force-confold, ou --force-confdef forem também fornecidos, será
usado para decidir a acção final.
overwrite: Sobrescreve um ficheiro de um pacote por um ficheiro de outro.
overwrite-dir: Sobrepõe um directório de um pacote com ficheiros de
outro.
overwrite-diverted: Sobrescreve a ficheiro divergido com uma versão
não-divergida.
statoverride-add: Sobrescreve uma sobreposição de estatística existente
quando a adiciona (desde dpkg 1.19.5).
statoverride-remove: Ignora uma sobreposição de estatística em falta
quando a remove (desde dpkg 1.19.5).
security-mac(*): Usa segurança baseada em Mandatory Access Controls (MAC)
específica da plataforma quando instala ficheiros no sistema de ficheiros
(desde dpkg 1.19.5). Em sistemas Linux a implementação usa SELinux.
unsafe-io: Não executa operações I/O seguras quando desempacota (desde
dpkg 1.15.8.6). Actualmente isto implica não executar sincronismos do
sistema antes de renomear ficheiros, o que é conhecido por causar uma
degradação substancial de performance em alguns sistemas de ficheiros,
infelizmente são esses que requerem o I/O seguro em primeiro lugar devido ao
seu comportamento não fiável que provoca ficheiros de comprimento-zero em
crashes abruptos do sistema.
Nota: Para ext4, o principal ofensor, considere usar a opção de montagem
nodelalloc, o que irá corrigir ambos a degradação de performance e os
problemas de segurança de dados, o último ao tornar o sistema de ficheiros
não produtor de ficheiros de zero-tamanho em crashes abruptos do sistema com
qualquer software que não faça sincronismos antes de renomeações atómicas.
Aviso: Usar esta opção pode melhorar a performance a custo de perda de
dados, use com cuidado.
script-chrootless: Corre os scripts de maintainer sem fazer chroot(2)
em instdir mesmo que o pacote não suporte este modo de operação (desde
dpkg 1.18.5).
Aviso: Isto pode destruir o seu sistema, use com extremo cuidado.
architecture: Processa pacotes mesmo da arquitectura errada ou sem
nenhuma.
bad-version: Processa pacotes mesmo com versões erradas (desde dpkg
1.16.1).
bad-path: PATH tem em falta programas importantes, portanto é provável
haver problemas.
not-root: Tenta (des)instalar coisas mesmo não sendo root.
bad-verify: Instala um pacote mesmo que este falhe no teste de
autenticidade.
- --ignore-depends=package,...
-
Ignora verificação de dependências para pacotes específicos (na verdade, a
verificação é executada, mas são apenas dados avisos sobre conflitos, nada
,mais). Isto afecta os campos Pre-Depends, Depends e Breaks.
- --no-act, --dry-run, --simulate
-
Faz tudo o que é suposto ser feito, mas não escreve quaisquer
alterações. Isto é usado para se ver o que acontecia com uma acção
específica, sem modificar nada na realidade.
Certifique-se de fornecer --no-act antes do parâmetro da acção, ou poderá
acabar com resultados não desejáveis. (ex. dpkg --purge foo --no-act irá
primeiro purgar o pacote ``foo'' e depois tentará purgar o pacote ``--no-act'',
mesmo pensando que provavelmente não vai fazer nada).
- -R, --recursive
-
Lida recursivamente com todos os ficheiros regulares que correspondem ao
padrão *.deb encontrados em directórios especificados e em todos os seus
sub-directórios. Isto pode ser usado com as acções -i, -A,
--install, --unpack e --record-avail.
- -G
-
Não instala um pacote se uma versão mais recente do mesmo pacote já estiver
instalada. Isto é um nome alternativo de --refuse-downgrade.
- --admindir=dir
-
Define o directório administrativo para directory. Este directório contem
muitos ficheiros que fornecem informação acerca do estado de pacotes
instalados ou desinstalados, etc. A predefinição é «/var/lib/dpkg».
- --instdir=dir
-
Define o directório de instalação, o que se refere ao directório onde os
pacotes vão ser instalados. instdir é também o directório passado ao
chroot(2) antes de correr scripts de instalação dos pacotes, o que
significa que os vêm instdir como o directório raiz. A predefinição é
«/».
- --root=dir
-
Define o directório raiz para directory, o que define o directório de
instalação para «dir» e o directório administrativo para
«dir/var/lib/dpkg».
- -O, --selected-only
-
Apenas processa os pacotes que estão selecionados para instalação. A
marcação real é feita com dselect ou pelo dpkg, quando lida com
pacotes. Por exemplo, quando um pacote é removido, será marcado selecionado
para desinstalação.
- -E, --skip-same-version
-
Não instala o pacote se a mesma versão do pacote já estiver instalada.
- --pre-invoke=command
-
- --post-invoke=command
-
Define um command hook de invocação para ser corrido via "sh -c" antes ou
depois de o dpkg correr para as acções unpack, configure,
install, triggers-only, remove, purge, add-architecture e
remove-architecture dpkg (desde dpkg 1.15.4; acções
add-architecture e remove-architecture desde dpkg 1.17.19). Esta opção
pode ser especificada várias vezes. A ordem que as opções são especificadas
é preservada, com aquelas dos ficheiros de configuração a tomar
precedência. A variável de ambiente DPKG_HOOK_ACTION é definida para os
hooks para a acção actual do dpkg.
Nota: Front-ends podem chamar dpkg várias vezes por invocação, o que
pode fazer correr os hooks mais vezes do que o esperado.
- --path-exclude=glob-pattern
-
- --path-include=glob-pattern
-
Define glob-pattern como um filtro de caminho, seja por excluir ou
re-incluir caminhos previamente excluídos que correspondem aos padrões
especificados durante a instalação (desde dpkg 1.15.8).
Aviso: Tenha em conta que ao depender de caminhos excluídos você pode
danificar completamente o seu sistema, use com cuidado.
Os padrões glob usam as mesmas wildcards usadas na shell, onde '*'
corresponde a qualquer sequência de caracteres, incluindo a string vazia e
também '/'. Por exemplo, «/usr/*/READ*» corresponde a
«/usr/share/doc/package/README». Como normal, '?' corresponde a qualquer
caractere único (mais uma vez, incluindo '/'). E '[' começa uma classe de
caractere, o qual pode conter uma lista de caracteres, gamas e
complementações. Veja glob(7) para informação detalhada acerca de
globbing. Nota: A implementação actual pode re-incluir mais directivas e
links simbólicos do que necessário, para estar no lado seguro e evitar
possíveis falhas de desempacotamento, trabalho futuro poderá corrigir isto.
Isto pode ser usado para remover todos os caminhos excepto alguns
particulares; um caso típico é:
--path-exclude=/usr/share/doc/*
--path-include=/usr/share/doc/*/copyright
para remover todos os ficheiros de documentação excepto os ficheiros de
copyright.
Estas duas opções pode ser especificadas várias vezes, e intercaladas entre
elas. Ambas são processadas na ordem fornecida, com a última regra
corresponde a um nome de ficheiro a marcar a decisão.
Os filtros são aplicados quando se desempacota os pacotes binários, e como
tal apenas têm conhecimento do tipo de objecto actualmente a ser filtrado
(ex. um ficheiro normal num directório) e não têm visibilidade dos outros
objetos que virão a seguir. Porque estes filtros têm efeitos secundários (em
contraste aos filtros find(1)), excluir um nome de caminho exacto que
acontece ser um objecto directório como /usr/share/doc não irá ter o
resultado desejado, e apenas esse nome de caminho será excluído (que poderá
ser automaticamente re-incluído se o código vir a necessidade). Quaisquer
ficheiros subsequentes contidos dentro desse directório irão falhar ao
desempacotar.
Dica: certifique-se que os globs não são expandidos pela sua shell.
- --verify-format format-name
-
Define o formato dos resultados para o comando --verify (desde dpkg
1.17.2).
Presentemente o único formato de resultados suportado é rpm, o qual
consiste de uma linha para cada caminho que falhou qualquer verificação. As
linhas começam com 9 caracteres para reportar cada resultado de verificação
específico, um '?' implica que a verificação não pôde ser feita (falta
de suporte, permissões de ficheiros, etc), '.' implica que a verificação
passou, e um caractere alfanumérico implica que uma verificação específica
falhou; uma falha de verificação do md5sum (o conteúdo do ficheiro alterou)
é denotado com um '5' no terceiro caractere. A linha é seguida por um
espaço e um caractere de atributo (actualmente 'c' para conffiles), outro
espaço e o nome do caminho.
- --status-fd n
-
Envia o estado do pacote em linguagem de máquina e informação de progresso
para o descritor de ficheiro n. Esta opção pode ser especificada várias
vezes. A informação é geralmente um registo por linha, em um dos seguintes
formatos:
-
- status: package: status
-
Status do pacote alterado; status está como no ficheiro de status.
- status: package : error : extended-error-message
-
Ocorreu um erro. Quaisquer possíveis novas linhas em
extended-error-message irão ser convertidas para espaços antes do
resultado.
- status: file : conffile-prompt : 'real-old' 'real-new' useredited distedited
-
Está a ser perguntado ao utilizador uma questão de ficheiro de configuração.
- processing: stage: package
-
Enviado apenas antes de um estado de processamento começar. stage é um de
upgrade, install (ambos enviados antes do desempacotamento),
configure, trigproc, disappear, remove, purge.
-
- --status-logger=command
-
Envia o estado do pacote em linguagem de máquina e informação de progresso
para a entrada standard de command de shell, para ser corrido via "sh -c"
(desde dpkg 1.16.0). Esta opção pode ser especificada várias vezes. O
formato de resultados usado é o mesmo que em --status-fd.
- --log=filename
-
Regista actualizações de alteração de estado e acções em filename, em vez
da predefinição /var/log/dpkg.log. Se esta opção for dada várias vezes, é
usado o último nome de ficheiro. As mensagens registadas estão no formato:
-
- YYYY-MM-DD HH:MM:SS startup type command
-
Para cada invocação do dpkg onde type é archives (com um command de
unpack ou install) ou packages (com um command de configure,
triggers-only, remove ou purge).
- YYYY-MM-DD HH:MM:SS status state pkg installed-version
-
Par actualizações de mudança de estado.
- YYYY-MM-DD HH:MM:SS action pkg installed-version available-version
-
Para acções onde action é um de install, upgrade, configure,
trigproc, disappear, remove ou purge.
- YYYY-MM-DD HH:MM:SS conffile filename decision
-
Para alterações de conffile onde decision ou é install ou é keep.
-
- --robot
-
Usa um formato de resultados em linguagem máquina. Este fornece uma
interface para programas que precisam de analisar os resultados de alguns
dos comandos que de outro modo não emitem um formato de resultados em
linguagem máquina. Nenhuma localização será usada, e os resultados serão
modificados para os tornar mais fácil de analisar.
O único comando actualmente suportado é --version.
- --no-pager
-
Desactiva o uso de qualquer paginador quando mostra informação (desde dpkg
1.19.2).
- --no-debsig
-
Não tenta verificar as assinaturas dos pacotes.
- --no-triggers
-
Não corre nenhum gatilho nesta execução (desde dpkg 1.14.17), mas as
activações serão na mesma gravadas. Se usado com --configure package
ou --triggers-only package então o postinst do pacote nomeado irá
mesmo assim ser corrido mesmo que apenas seja necessário correr um
gatilho. O uso desta opção pode deixar pacotes em estados
triggers-awaited e triggers-pending impróprios. Isto pode ser
corrigido mais tarde ao correr: dpkg --configure --pending.
- --triggers
-
Cancela um --no-triggers anterior (desde dpkg 1.14.17).
ESTADO À SAÍDA
- 0
-
A acção requisitada foi executada com sucesso. Ou uma verificação ou comando
de afirmação retornou verdadeiro.
- 1
-
Uma verificação ou comando de afirmação retornou falso.
- 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
Ambiente externo
- PATH
-
Esta variável é esperada estar definida no ambiente e apontar para os
caminhos do sistema onde vários programas requeridos se encontram. Se não
estiver definida, ou os programas não forem encontrados, o dpkg irá
abortar.
- HOME
-
Se definido, o dpkg irá usá-lo como o directório de onde ler o ficheiro
de configuração específico do utilizador.
- TMPDIR
-
Se definido, o dpkg irá usá-lo como o directório onde criar os ficheiros
e directórios temporários.
- SHELL
-
O programa que o dpkg irá executar quando iniciar uma nova shell
interactiva, ou quando multiplica um comando via shell.
- PAGER
-
- DPKG_PAGER
-
O programa que o dpkg irá executar quando correr um paginador, o qual
será executado com «$SHELL -c», por exemplo quando mostrar as diferenças
do conffile. Se SHELL não estiver definida, será usado «sh» em vez
deste. O DPKG_PAGER sobrepõe a variável de ambiente PAGER (desde dpkg
1.19.2).
- DPKG_COLORS
-
Define o modo de cor (desde dpkg 1.18.5). Os valores actualmente aceites
são: auto (predefinido), always e never.
- DPKG_FORCE
-
Define as bandeiras de forçar (desde dpkg 1.19.5). Quando esta variável está
presente, nenhuma predefinição de forçar embutida será aplicada. Se a
variável esta presente mas vazia, todas as bandeiras de forçar serão
desactivadas.
- DPKG_ADMINDIR
-
Se definido e as opções --admindir ou --root não foram especificadas,
será usado como o directório administrativo do dpkg (desde dpkg 1.20.0).
- DPKG_FRONTEND_LOCKED
-
Definido pelo frontend de gestão de pacotes para notificar o dpkg que não
deve adquirir o bloqueio do frontend (desde dpkg 1.19.1).
Ambiente interno
- LESS
-
Definido pelo dpkg para "-FRSXMQ", Se não já definido, quando cria um
paginador (desde dpkg 1.19.2). Para modificar o comportamento predefinido,
esta variável por ser pré-ajustada para qualquer outro valor incluindo uma
string vazia, ou as variáveis PAGER ou DPKG_PAGER podem ser definidas
para desactivar opções específicas com «-+», por exemplo
DPKG_PAGER=``less -+F''.
- DPKG_ROOT
-
Definido pelo dpkg no ambiente de scripts do maintainer para indicar em
qual instalação devem actuar (desde 1.18.5). O valor destina-se a ser
adicionado ao inicio de qualquer caminho em que os scripts de maintainer
operam. Durante uma operação normal, esta variável está vazia. Ao instalar
pacotes numa instdir diferente, o dpkg normalmente invoca scripts do
maintainer usando chroot(2) e deixa esta variável vazia, mas se
--force-script-chrootless for especificado então a chamada chroot(2) é
saltada e instdir fica não-vazia.
- DPKG_ADMINDIR
-
Definido pelo dpkg no ambiente de scripts do maintainer para indicar o
directório administrativo do dpkg a usar (desde dpkg 1.16.0). Esta
variável está sempre definida para o valor actual --admindir.
- DPKG_FORCE
-
Definido pelo dpkg no ambiente de sub-processos para todos os nomes de
opções de forçar, actualmente activos, separados por vírgulas (desde dpkg
1.19.5).
- DPKG_SHELL_REASON
-
Definido pelo dpkg na shell criada no incitar do conffile para examinar a
situação (desde dpkg 1.15.6). Valor válido actual: conffile-prompt.
- DPKG_CONFFILE_OLD
-
Definido pelo dpkg na shell criada no incitar do conffile para examinar a
situação (desde dpkg 115.6). Contém o caminho do conffile antigo.
- DPKG_CONFFILE_NEW
-
Definido pelo dpkg na shell criada no incitar do conffile para examinar a
situação (desde dpkg 115.6). Contém o caminho do conffile novo.
- DPKG_HOOK_ACTION
-
Definido pelo dpkg na shell criada quando executa uma acção hook (desde
dpkg 1.15.4). Contém a acção actual do dpkg.
- DPKG_RUNNING_VERSION
-
Definido pelo dpkg no ambiente de scripts do maintainer para a versão da
instância do dpkg actualmente a correr (desde dpkg 1.14.17).
- DPKG_MAINTSCRIPT_PACKAGE
-
Definido pelo dpkg no ambiente de scripts do maintainer para o nome do
pacote (qualificado-não-arquitectura) a ser manuseado (desde dpkg 1.14.17).
- DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT
-
Definido pelo dpkg no ambiente de scripts do maintainer para a contagem
de referência de pacotes, isto é, o número de instâncias de pacotes com um
estado maior que not-installed (desde dpkg 1.17.2).
- DPKG_MAINTSCRIPT_ARCH
-
Definido pelo dpkg no ambiente de scripts do maintainer para a
arquitectura que o pacote foi compilado (desde dpkg 1.15.4).
- DPKG_MAINTSCRIPT_NAME
-
Definido pelo dpkg no ambiente de scripts do maintainer para o nome do
script a correr, um de preinst, postinst, prerm or postrm (desde
dpkg 1.15.7).
- DPKG_MAINTSCRIPT_DEBUG
-
Definido pelo dpkg no ambiente de scripts do maintainer para um valor
('0' ou '1') que indica se a depuração foi requisitada (com a opção
--debug) para os scripts do maintainer (desde dpkg 1.18.4).
FICHEIROS
- /etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*
-
Ficheiros de fragmentos de configuração (desde dpkg 1.15.4).
- /etc/dpkg/dpkg.cfg
-
Ficheiro de configuração com as opções predefinidas.
- /var/log/dpkg.log
-
Ficheiro de relatório predefinido (veja /etc/dpkg/dpkg.cfg e a opção
--log).
Os outros ficheiros listados em baixo estão nos seus directórios
predefinidos, veja a opção --admindir para saber como modificar as
localizações destes ficheiros.
- /var/lib/dpkg/available
-
Lista dos pacotes disponíveis.
- /var/lib/dpkg/status
-
Estados dos pacotes disponíveis. Este ficheiro contem informação acerca de
se um pacote está marcado para remoção ou não, se está instalado ou não,
etc. Veja a secção INFORMAÇÃO ACERCA DE PACOTES para mais informação.
O ficheiro status é salvaguardado diariamente em /var/backups. Pode ser
útil se for perdido ou corrompido devido a problemas com o sistema de
ficheiros.
O formato e conteúdo de um pacote binário está descrito em deb(5).
BUGS
--no-act geralmente dá menos informação do que poderia ser útil.
EXEMPLOS
Para listar pacotes instalados relacionados com o editor
vi(1) (note que
dpkg-query já não carrega o ficheiro
available por predefinição, e
para isso deve ser usada a opção
dpkg-query --load-avail):
dpkg -l '*vi*'
Para ver as entradas em /var/lib/dpkg/available de dois pacotes:
dpkg --print-avail elvis vim | less
Para procurar você próprio na listagem de pacotes:
less /var/lib/dpkg/available
Para remover um pacote elvis instalado:
dpkg -r elvis
Para instalar um pacote, primeiro você precisa de encontrá-lo num arquivo ou
CDROM. O ficheiro available mostra que o pacote vim está na secção
editors:
cd /media/cdrom/pool/main/v/vim
dpkg -i vim_4.5-3.deb
Para fazer uma cópia local do estado de selecção de pacotes:
dpkg --get-selections> myselections
You might transfer this file to another computer, and after having updated
the available file there with your package manager frontend of choice
(see <https://wiki.debian.org/Teams/Dpkg/FAQ> for more details), for
example:
apt-cache dumpavail | dpkg --merge-avail
ou com o dpkg 1.17.6 e anteriores:
avail=$(mktemp)
apt-cache dumpavail> "$avail"
dpkg --merge-avail "$avail"
rm "$avail"
você pode instala-lo com:
dpkg --clear-selections
dpkg --set-selections <myselections
Note que isto não irá realmente instalar ou remover nada, mas apenas definir
o estado de selecção nos pacotes requeridos. Você irá precisar de alguma
outra aplicação para realmente descarregar e instalar os pacotes
requeridos. Por exemplo, correr apt-get dselect-upgrade.
Normalmente, você irá descobrir que o dselect(1) fornece um método mais
conveniente de modificar os estados de selecção de pacotes.
FUNCIONALIDADES ADICIONAIS
Podem ser ganhas funcionalidades adicionais ao instalar qualquer um dos
seguintes pacotes:
apt,
aptitude e
debsums.
VEJA TAMBÉM
aptitude(8),
apt(8),
dselect(1),
dpkg-deb(1),
dpkg-query(1),
deb(5),
deb-control(5),
dpkg.cfg(5), e
dpkg-reconfigure(8).
AUTORES
Veja
/usr/share/doc/dpkg/THANKS para a lista de pessoas que contribuíram para o
dpkg.
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>.