Equery/pt-br

equery é uma ferramenta para tornar algumas operações comuns do Portage mais simples. Junto de outras operações, ela pode exibir dependências de pacotes, metadata, e arquivos instalados.

Emerge
Em resumo:

Equery é parte de um conjunto de ferramentas instalado com o pacote. Para informações sobre a instalação do ou outras ferramentas veja o artigo Gentoolkit.

Introdução
equery é uma ferramenta que exibe informações úteis sobre os pacotes instalados no sistema. equery é baseado num sistema de módulos. Todo módulo tem um nome curto. Por exemplo, rodar equery l gcc é o mesmo que rodar equery list gcc. Invocando a opção  (equery --help) irá mostrar opções globais e listar todos os módulos disponíveis e seus nomes curtos. Adicionar o nome de um módulo ao final (equery --help module) irá mostrar a tela de ajuda para este módulo específico. Por último, rodar man equery fornecerá também uma explicação detalhada de todos os módulos e opções disponíveis junto de alguns exemplos úteis.

Abaixo está uma lista de funcionalidades que funcionam na maioria dos módulos.

Assim como o emerge</tt>, equery</tt> não entende nomes parciais de pacotes:

Diferente do emerge</tt>, equery</tt> aceita englobamento estilo shell no nome do pacote e/ou categoria:

A maioria dos módulos do equery tem múltipla saída:

Alguns módulos também permitem totalmente expressões regulares:

As próximas seções neste documento darão uma introdução rápida aos diferentes módulos do equery</tt>.

Capacidades
Para uma lista de todas as capacidades do equery, apenas rode o seguinte comando sem argumentos:

Aliases
Uma abordagem comum ao trabalhar com o equery</tt> é criar aliases. Ao usar o bash eles normalmente são colocados no arquivo :

Encontrando um pacote ao qual um arquivo pertence (b)
procura por arquivos correspondendo à uma expressão regular com a opção. A opção  para a busca ao encontrar um resultado correspondente. Como nenhum arquivo em seu sistema deve ser propriedade de dois pacotes, esta é uma otimização segura.

Uma versão encurtada de   também pode ser usada. Por exemplo, para listar a qual pacote equery</tt> pertence:

Visualizando entradas do ChangeLog com changes (c)
permite ao usuário visualizar entradas do ChangeLog para uma ou várias versões de um pacote. Imagine após rodar um emerge --sync</tt>, o Portage exibir uma mensagem dizendo que será atualizado. Para ver o que mudou este comando pode ser usado:

Verificando integridade de pacotes com check (k)
Por vezes é útil verificar a integridade dos pacotes. equery</tt> pode verificar MD5 bem como timestamps para indicar quando um pacote pode estar corrompido, substituído ou removido.

Listando todos os pacotes que dependem de outro com depends (d)
Já se perguntou por que um certo pacote foi instalado no sistema? equery</tt> pode dizer quais pacotes listam este como dependência com a opção. Inclua dependências indiretas com a opção.

Um segundo exemplo lista todos os pacotes dependendo diretamente de udev:

Obtendo gráficos de dependências com depgraph (g)
é o oposto de. Ele irá encontrar todos os ebuilds dos quais um dado pacote depende (e não os ebuilds que dependem deste pacote). Quando ele encontra uma dependência, irá recursivamente buscar as dependências daquele pacote. Controle o quão a fundo a árvore consegue com a opção.

Reparou como  é uma dependência direta e   é uma dependência indireta se a USE flag   USE está definida?

Listando arquivos instalados por um pacote com files (f)
equery</tt> pode listar todos os arquivos instalados por um ebuild com o módulo. Tente  para obter um layout de diretório de fácil leitura. Use  para encontrar apenas um determinado tipo de arquivo. Por exemplo, para encontrar onde executáveis foram instalados use, ou para encontrar rapidamente o local do arquivo de configuração tente.

Outro exemplo, para listar todos os arquivos instalados pelo ncmpcpp:

Descrições de outros módulos e flags de linha de comando adicionais podem ser encontrados na man page do equery ( man equery ).

Procurando por pacotes que tem uma USE flag específica com hasuse (h)
pode ser usado para encontrar pacotes com uma determinada USE flag. não irá indicar se a flag está habilitada, apenas se o ebuild a lista como opção. Veja a seção EXAMPLES de  na man page do equery</tt> para mais dicas sobre como obter este tipo de informação.

Listando pacotes com list (l)
é um módulo simples, porém poderoso para listar pacotes instalados da árvore do Portage ou de um overlay.

A consulta padrão irá buscar pacotes instalados para o nome de pacote informado. Passado com  exibe os pacotes no conjunto. No campo mais à esquerda é possível ver que todos os pacotes acima estão (nstalados) e oriundos da árvore do  (ortage). Eles não estão mascarados (o segundo campo está vazio), e todos estão instalados no slot padrão (0).

Use opções locais para buscar pacotes na árvore do Portage e overlays.

Neste é possível ver que a versão 7.2.182 está instalado e não há versões disponíveis de um overlay. Usuários podem ver quais versões estão mascaradas com  no segundo campo.

Visualizando metadata de pacotes com meta (m)
Cada pacote na árvore do Portage fornece ao menos algum metadata sobre seu mantenedor, grupo, etc. O amontoado de informações úteis depende de quanto os mantenedores decidiram fornecer. Sem opções,  retorna algumas informações básicas e úteis.

Alguns mantenedores fornecem informações extras sobre o pacote que podem ser úteis:

Finding package sizes with size (s)
Ever been curious to find out how much space a specific package is occupying? Since a package could have its files over a number of directories, the usual du -hc</tt> command might not give the correct figure. Not to worry, equery</tt> to the rescue!

Using  prints the total space used in human-readable units and lists the total number of files the package has. To get the total size in bytes use.

Listing per-package USE flags with uses (u)
equery</tt>'s  module can provide information about what USE flags are available for a specific package and which of those flags is currently enabled.

Here a number of USE flags are enabled in gstreamer's plugin meta-package, but it can be seen that there are other USE flags available. For more information on USE flags, please refer to the USE Flags chapter of the Gentoo Handbook.

Finding the ebuild path with which (w)
is a simple script to help users quickly find the file path to an ebuild. If an unversioned package name is passed using  it will return the path to the newest installable ebuild version. In other words, it would return the ebuild Portage would use if emerge example/package</tt> was typed. also accepts a versioned package to get the path to that ebuild.

Lastly, if none of the above features of <tt>equery</tt> have provided an answer, try using  to manually search an ebuild with programs like <tt>cat</tt>, <tt>less</tt> or <tt>grep</tt>: