dpkg-query - uma ferramenta para questionar a base de dados do
dpkg
dpkg-query [option...] command
dpkg-query é uma ferramenta para mostrar
informação acerca de pacotes listados no base de dados do
dpkg.
- -l, --list
[package-name-pattern...]
- Lista todos os pacotes conhecidos que correspondem a um ou mais
padrões, independentemente do seu estado, o que inclui quaisquer
referências a pacotes reais ou virtuais em qualquer campo de
relacionamento de dependência (tal como Breaks,
Enhances, etc.). Se nenhum package-name-pattern for
fornecido, lista todos os pacotes em /var/lib/dpkg/status,
excluindo aqueles marcados como não-instalados (isto é,
aqueles que foram previamente purgados). São permitidos caracteres
wildcard de shell normal em package-name-pattern. Por favor note
que provavelmente terá que citar package-name-pattern para
impedir a shell de executar expansão do nome de ficheiro. Por
exemplo isto irá listas todos os nomes de pacotes que comecem com
“libc6”:
Um estado em letra maiúscula ou letra de erro indica que o
pacote é provável de causar severos problemas. Por favor
consulte dpkg(1) para informação sobre os estados e
bandeiras em cima.
O formato de saída desta opção não
é configurável, mas varia automaticamente para caber na
largura do terminal. Destina-se a ser lido por humanos e não é
facilmente lido por máquinas. Veja -W (--show) e
--showformat para um modo de configurar o formato do resultado.
- -W, --show
[package-name-pattern...]
- Tal como a opção --list isto irá listar todos
os pacotes que correspondem aos padrões dados. No entanto o
resultado pode ser personalizado usando a opção
--showformat.
O formato de resultados predefinido dá uma linha por
pacote correspondente, cada linha consistindo do nome do pacote e a sua
versão instalada, separados por um tab. O nome de pacote
será qualificado de arquitectura para pacotes com um campo
Multi-Arch com o valor same ou com uma arquitectura
alienígena, a qual é uma arquitectura que não
é a nativa nem all.
- -s, --status
[package-name...]
- Reporta estado de pacotes específicos. Isto apenas mostra a entrada
na base de dados de estados de pacotes instalados. Se não
especificado nenhum package-name irá mostrar todas as
entradas de pacotes na base de dados de estados (desde dpkg 1.19.1).
Quando são listadas várias entradas de package-name,
as entradas de estado requisitadas são separadas por uma linha
vazia, com a mesma ordem que foi especificada na lista de argumentos.
- -L, --listfiles
package-name...
- Lista os ficheiros instalados no seu sistema a partir de
package-name. Quando são listados vários
package-names, as listas de ficheiros pedidas são separadas
por uma linha vazia, na mesma ordem como especificada na lista de
argumentos.
Cada diversão de ficheiro é escrita na sua
própria linha após o seu ficheiro divergido, prefixado com
uma das seguintes strings localizadas:
locally diverted to: diverted-to
package diverts others to: diverted-to
diverted by pkg to: diverted-to
Dica: Quando se faz análise máquina a uma
saída, é costume definir o locale para C.UTF-8 para
obter resultados reproduzíveis. Em alguns sistemas isto pode
também requerer adaptar a variável de ambiente
LANGUAGE apropriadamente se já estiver definida (veja
locale(7)).
Este comando não irá listar ficheiros extra
criados pelos scripts do maintainer, nem irá listar
alternativas.
- <--control-list> package-name
- Lista ficheiros de controle instalados no seu sistema a partir de
nome-pacote (desde dpkg 1.16.5). Estes podem ser usados como
argumentos de entrada para --control-show.
- --control-show
package-name control-file
- Escreve o ficheiro-controle instalado no seu sistema a partir de
nome-pacote na saída standard (desde dpkg 1.16.5).
- -c, --control-path
package-name [control-file]
- Lista caminhos para ficheiros de controle instalados no seu sistema a
partir de package-name (desde dpkg 1.15.4). Se for especificado
control-file então apenas lista o caminho para esse ficheiro
de controle se estiver presente.
Aviso: Este comando está descontinuado pois
dá acesso direto à base de dados interna do dpkg, por
favor passe a usar --control-list e --control-show em vez
deste para todos os casos onde esses comandos possam dar os mesmos
resultados finais. Apesar disto, enquanto ainda existir pelo menos um
caso onde este comando é necessário (isto é, quando
é preciso de remover um script de maintainer postrm prejudicial),
e enquanto não existir uma boa solução para isso,
este comando não será removido.
- -S, --search
filename-search-pattern...
- Procura por pacotes que possuem ficheiros que correspondem aos
padrões dados. Podem ser usados caracteres wildcard de shell
standard no padrão, onde o asterisco (*) e ponto
interrogação (?) irão corresponder a uma
barra, e a barra invertida (\) será usada como um caractere
de escape.
Se o primeiro caractere em filename-search-pattern
não for nenhum de ‘*[?/’ então
será considerado uma correspondência de sub-string e
será implicitamente cercada por ‘*’ (como em
*filename-search-pattern*). Se a string subsequente
conter qualquer de ‘*[?\’, então será
lidada como um padrão glob, caso contrário qualquer
‘/’ ou ‘/.’ no final
será removido e será executada uma busca de caminho
literal.
Este comando não irá listar ficheiros extra
criados pelos scripts do maintainer, nem irá listar
alternativas.
O formato de saída consiste numa linha por
padrão de correspondência, com uma lista pacotes a ter o
nome de caminho separado por uma vírgula (U+002C
‘,’) e um espaço (U+0020 ‘
’), seguido por dois pontos (U+003A ‘:’)
e um espaço seguido pelo nome de caminho. Como em:
pkgname1, pkgname2: pathname1
pkgname3: pathname2
Diversões de ficheiro são escritas com as
seguintes strings localizadas:
diversion by pkgname from: diverted-from
diversion by pkgname to: diverted-to
ou para diversões locais:
local diversion from: diverted-from
local diversion to: diverted-to
Dica: Quando se faz análise máquina a uma
saída, é costume definir o locale para C.UTF-8 para
obter resultados reproduzíveis.
- -p, --print-avail
[package-name...]
- Mostra detalhes sobre pacotes, como encontrado em
/var/lib/dpkg/available. Se nenhum package-name for
especificado, irá mostrar todas as entradas de pacotes na base de
dados disponível (desde dpkg 1.19.1). Quando vários
package-name são listados, as entradas
disponíveis requeridas são separadas por uma linha
vazia, com a mesma ordem que foi especificada na lista de argumentos.
Utilizadores de frontends baseados no APT devem usar apt
show package-name em vez disto, pois o ficheiro
disponível só é mantido actualizado quando
se usa o dselect.
- -?, --help
- Mostra a mensagem de utilização e termina.
- --version
- Mostra a versão e termina.
- --admindir=dir
- Altera a localização da base de dados do dpkg. A
localização predefinida é /var/lib/dpkg.
- --root=directory
- Define o directório raiz para directory, o que define o
directório administrativo para
«directory/var/lib/dpkg» (desde dpkg 1.21.0).
- --load-avail
- Também carrega o ficheiro disponível quando se usa os
comandos --show e --list, que agora por
predefinição apenas consulta o ficheiro de status (desde
dpkg 1.16.2).
- --no-pager
- Desactiva o uso de qualquer paginador quando mostra
informação (desde dpkg 1.19.2).
- -f,
--showformat=format
- Esta opção é usada para especificar o formato dos
resultados que --show irá produzir (opção
curta desde dpkg 1.13.1). O formato é uma string que irá ser
escrita para cada pacote listado.
Na string de formato, “\” introduz
escapes:
Os seguintes são campos virtuais,m gerados pelo
dpkg-query a partir de valores de outros campos (note que estes
não usam nomes válidos para campos em ficheiros de
controle):
- binary:Package
- Contém o nome do pacote binário com um possível
qualificador de arquitectura como “libc6:amd64” (desde dpkg
1.16.2). Um qualificador de arquitectura irá estar presente para
tornar o nome do pacote não-ambiguo, para pacotes com um campo
Multi-Arch com o valor de same ou com uma arquitectura
alienígena, a qual é uma arquitectura que não
é a nativa nem all.
- binary:Synopsis
- Contém a descrição curta do pacote (desde dpkg
1.19.1).
- binary:Summary
- Isto é um alias para binary:Synopsis (desde dpkg
1.16.2).
- db:Status-Abbrev
- Contem o estado do pacote abreviado (em três caracteres), tais como
“ii ” ou “iHR” (desde dpkg 1.16.2). Veja a
descrição do comando --list para mais detalhes.
- db:Status-Want
- Contém o estado desejado do pacote, parte do campo Status (desde
dpkg 1.17.11).
- db:Status-Status
- Contém a palavra de estado do pacote, parte do campo Status (desde
dpkg 1.17.11).
- db:Status-Eflag
- Contém a flag de erro do estado do pacote, parte do campo Status
(desde dpkg 1.17.11).
- db-fsys:Files
- Contém a lista de entradas se sistemas de ficheiros do pacote
separadas por novas linhas (desde dpkg 1.19.3).
- db-fsys:Last-Modified
- Contém a marca temporal em segundos da última vez que as
entradas de sistemas de ficheiros do pacote foram modificadas (desde dpkg
1.19.3).
- source:Package
- Contém o nome do pacote fonte para este pacote binário
(desde o dpkg 1.16.2).
- source:Version
- Contém a versão de pacote fonte para este pacote
binário (desde o dpkg 1.16.2).
- source:Upstream-Version
- Contém a versão do autor do pacote fonte para este pacote
binário (desde dpkg 1.18.16).
A string do formato predefinida é
“${binary:Package}\t${Version}\n”. Na realidade, todos
os outros campos encontrados no ficheiro de estado (isto é, campos
definidos pelo utilizador) podem ser também requisitados. Eles
irão ser escritos tal como estão, too. They will be printed
as-is, não obstante, nenhuma conversão ou
verificação de erros é feita neles. Para obter o nome
do maintainer do dpkg e da versão instalada, você pode
correr:
dpkg-query -f='${binary:Package} ${Version}\t${Maintainer}\n' \
-W dpkg
- 0
- A pesquisa requisitada foi executada com sucesso.
- 1
- A pesquisa requisitada falhou seja total ou parcialmente, devido a nenhum
ficheiro ou pacote ter sido encontrado (excepto para
--control-path, --control-list e --control-show onde
tais erros são fatais).
- 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.
- SHELL
- Define o programa a executar quando multiplica um comando via shell (desde
dpkg 1.19.2).
- Sets the pager command to use (since dpkg 1.19.1), which will be executed
with «$SHELL -c». If
SHELL is not set, «sh» will be used instead.
The DPKG_PAGER overrides the PAGER environment
variable (since dpkg 1.19.2). If none of the programs pointed by
DPKG_PAGER or PAGER are present, the following programs
will be tried in order (since dpkg 1.22.12): the default pager
pager, then less, more, and finally cat.
- DPKG_ROOT
- Se definido e a opção --root não foi
especificada, será usado como o directório raiz do sistema
de ficheiros (desde dpkg 1.21.0).
- DPKG_ADMINDIR
- Se definido e a opção --admindir não for
especificada, será usado como o directório de dados do
dpkg.
- DPKG_DEBUG
- Define a máscara de depuração (desde dpkg 1.21.10) a
partir dum valor octal. As bandeiras presentemente aceites estão
descritas na opção dpkg --debug, mas nem todas estas
bandeiras podem ter um efeito neste programa.
- 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).
- LESS
- Definido pelo dpkg-query para “-FRSXMQ”, se
não já definido, quando gera um paginador (desde dpkg
1.19.2). Para mudar o comportamento predefinido, esta variável pode
ser pré-ajustada para qualquer outro valor incluindo uma string
vazia, ou as variáveis PAGER ou DPKG_PAGER pode ser
definidas para desactivar opções específicas com
«-+», por exemplo DPKG_PAGER="less
-+F".
Operações de consulta nunca devem requerer root, e
delegar a sua execução para utilizadores sem
privilégios via algum comando de ganhar-root pode ter
implicações de segurança (tais como escalada de
privilégios), por exemplo quando um paginador é invocado
automaticamente pela ferramenta.
Américo Monteiro
Se encontrar algum erro na tradução deste documento,
por favor comunique para Américo Monteiro
<a_monteiro@gmx.com>.