Equery/es

equery es una herramienta para hacer muchas operaciones comunes de Portage en forma simple. Entre otras operaciones, puede desplegar dependencias de paquetes, metadata y archivos instalados.

Emerge
En breve:

Equery es parte de un set de herramientas instalada con el paquete. Para información referente a como instalar equery u otra herramienta visita el articulo Gentoolkit.

Introducción
equery Es una herramienta que despliega información bastante util sobre paquetes instalados en el sistema. equery está basado en un sistema modular. Cada módulo tiene un nombre abreviado. Por ejemplo, ejecutando equery l gcc es lo mismo que ejecutar equery list gcc. Invocando la opción  ( equery --help ) esta arrojará las opciones globales y listará todos los módulos disponibles con su correspondiente nombre abreviado. Agregando el nombre del módulo al final(equery --help module) se mostrará la ayuda específica para el modulo. Por último, ejecutando man equery también proporcionará una explicación detallada de todos los módulos y opciones disponibles, junto con algunos ejemplos útiles.

A continuación se muestra una lista de características que funcionan sobre la mayoría de los módulos.

Como emerge, equery</tt> no entiende los nombres parciales de los paquetes:

Por el contrario a emerge</tt>, equery</tt> puede aceptar formato de expansión de comodines (Globbing) tipo shell en la categoría y/o nombre del paquete:

Muchos módulos de equery toman múltiples entradas:

Algunos módulos también permiten expresiones regulares en forma completa:

Las siguientes secciones de este documento ofrecen una rápida introducción a los diferentes módulos de equery</tt>.

Capabilities
To see a list of all equery's capabilities, simply run it without arguments:

Aliases
A common approach to working with equery</tt> is to create aliases. When using bash these can usually be placed in the file:

Finding the package that a file came from with belongs (b)
can search for files matching a regular expression with the  option. The  option stops searching after it finds a match. Since no file on your system should be owned by two packages, this is a safe optimization.

A short version of   can also be used. For example, to list what package equery</tt> belongs to:

Viewing ChangeLog entries with changes (c)
lets the user view ChangeLog entries for a package version or range of versions. Imagine after running an emerge --sync</tt> Portage prints out a message saying it is going to be upgraded. To see what has changed this command can be used:

Verifying package integrity with check (k)
Sometimes it is useful to check a package's integrity. equery</tt> can verify MD5 sums as well as timestamps to indicate when a package might have been corrupted, replaced, or removed.

Listing all packages depending on a package with depends (d)
Ever wonder why a certain package has been installed on the system? equery</tt> can tell which packages list it as a dependency with. Include indirect dependencies with the  option.

A second example lists all packages directly depending on udev:

Getting dependency graphs with depgraph (g)
is the opposite of. It will find all ebuilds that a given package depends on (not the ebuilds that depend on that package). When it finds a dependency, it will recursively search that package's dependencies. Control how deep the tree gets with the  option.

Notice how  is a direct dependency and   is an indirect dependency if the   USE is set?

Listing files installed by a package with files (f)
equery</tt> can list all the files installed by an ebuild with the  module. Try  to get an easy to read directory layout. Use  to only find a certain type of file. For example, to find where executables were installed use, or to quickly find the configuration file location try.

Another example, to list all files installed by ncmpcpp:

Descriptions of other modules and additional command line flags can be found in the equery man page ( man equery ).

Looking for packages that have a specific USE flag with hasuse (h)
can be used to find packages with a given USE flag. will not indicate if the flag is enabled, only if the ebuild lists it as an option. See the EXAMPLES section of  in the equery</tt> man page for more tip on getting this kind of information.

Listing packages with list (l)
is a simple, yet powerful module to list packages that are installed, in the Portage tree or in an overlay.

The standard query will search installed packages for the given package name. Passing in  displays all packages in the set. In the leftmost field it is possible to see all the above packages are (nstalled) and from the  (ortage) tree. They are not masked (the second field is blank), and they are all installed in the default slot (0).

Use local options to look for packages in the Portage tree and overlays.

In this is it possible to see version 7.2.182 is installed and there are no versions available from an overlay. Users can see which versions are keyword masked by the  in the second field.

Viewing package metadata with meta (m)
Each package in the Portage tree provides at least some metadata about its maintainer, herd, etc. The amount of useful information depends on how much package maintainers decide to provide. With no options,  returns some basic useful information.

Some maintainers provide extra information about the package which be very useful:

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