dpkg-query(1)

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

    Aviso: este comando está descontinuado pois da acesso direto à base de dados interna do dpkg, por favor use --control-list e --control-show em vez deste para todos os casos onde esses comandos possam dar os mesmos resultados finais. esult. 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 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/db/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/db/dpkg.

--root=directory
    Define o directório raiz para directory, o que define o directório administrativo para «directory/var/db/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
    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
    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.

  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@gmx.com>.