NOME
dpkg-query - uma ferramenta para questionar a base de dados do dpkg
RESUMO
dpkg-query [option...] command
DESCRIÇÃO
dpkg-query é uma ferramenta para mostrar informação acerca de pacotes listados no base de dados do dpkg.
COMANDOS
-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”:
dpkg-query -l 'libc6*'
As primeiras três colunas do resultado mostram a acção desejada, e estado do pacote, e erros, por essa ordem.
Acção
desejada:
u = Unknown
i = Install
h = Hold
r = Remove
p = Purge
Estado de
pacote:
n = Not-installed
c = Config-files
H = Half-installed
U = Unpacked
F = Half-configured
W = Triggers-awaiting
t = Triggers-pending
i = Installed
Flags de erro:
<empty> = (none)
R = Reinst-required
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.
Warning: This command is deprecated as it gives direct access to the internal dpkg database, please switch to use --control-list and --control-show instead for all cases where those commands might give the same end result. Although, as long as there is still at least one case where this command is needed (i.e. when having to remove a damaging postrm maintainer script), and while there is no good solution for that, this command will not get removed.
-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.
OPÇÕES
--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 consultam 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:
\n nova linha
\r retorno do carrinho
\t tab
“\” antes de qualquer outro caractere suprime qualquer significado especial do caractere seguinte, o que é útil para “\” e “$”.
Informação
do pacote pode ser incluída ao inserir referencias
variáveis a campos de pacotes usando a sintaxe
“${field[;width]}”.
Campos são escritos alinhados à direita a
menos que a largura seja negativa que nessa caso será
usado o alinhamento à esquerda. OS seguintes
fields são reconhecidos mas não
estão necessariamente disponíveis no ficheiro
de estado (apenas campos internos ou campos guardados no
pacote binário ficam lá):
Architecture
Bugs
Conffiles (interno)
Config-Version (interno)
Conflicts
Breaks
Depends
Description
Description-md5 (internal, front-end related)
Enhances
Protected
Essential
Filename (interno, relacionado com front-end)
Homepage
Installed-Size
MD5sum (interno, relacionado com front-end)
MSDOS-Filename (interno, relacionado com front-end)
Maintainer
Origin
Package
Pre-Depends
Priority
Provides
Recommends
Replaces
Revision (obsoleto)
Section
SHA1 (internal, front-end related)
SHA256 (internal, front-end related)
SHA512 (internal, front-end related)
Size (interno, relacionado com front-end)
Source
Status (interno)
Suggests
Tag (geralmente não em .deb mas em ficheiros
Packages do
repositório)
Triggers-Awaited (interno)
Triggers-Pending (interno)
Version
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
ESTADO À SAÍDA
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. |
AMBIENTE
Ambiente
externo
SHELL
Define o programa a executar quando multiplica um comando via shell (desde dpkg 1.19.2).
PAGER
DPKG_PAGER
Define o comando paginador a usar (desde dpkg 1.19.1), o qual ir+a ser executado com «$SHELL -c». Se SHELL não estiver definido, irá ser usado «sh» em vez dele. O DPKG_PAGER sobrepõe a variável de ambiente PAGER (desde dpkg 1.19.2).
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
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).
Ambiente
interno
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".
SEGURANÇA
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.
VEJA TAMBÉM
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>.