Manpages

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

dpkg(1).

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>.