Q applets/zh-cn

The q applets are Article description::a collection of small, fast Portage query utilities written in C. These are meant to offer a faster but more limited alternative to their counterparts.

Readers should note that q applets were not created to replace gentoolkit; they simply may be more efficient than the equivalent utilities from gentoolkit and might be better suited to be used in scripts that need to call Portage repeatedly. They do not offer the same functionality. q applets do not consider eclasses and do not provide tools like or.

Emerge
Install the q applets:

Invocation
The complete list of applications that are provided by can be listed by typing  or. Please read the man page for each utility described, as this guide is only meant to be a short reference for the most useful functions and does not include all the information about each application.

To see the available applets with a short description of their function, use :

How to find a package to which a file belongs (qfile)
The command finds the package to which a file belongs:

Verifying package integrity (qcheck)
To check the MD5 checksums or modification times of the files installed by some package, use the application:

All the files which were changed after installation will be reported here. Configuration files which have been manually edited after installation are reported too. Most packages do not require root permissions. However, if a package has files that are only accessible to root should be run as root.

To check the integrity of all packages installed, enter:

Listing package dependencies (qdepends)
can list the dependencies of a package in either direction. Without options to list the DEPEND, RDEPEND , PDEPEND or BDEPEND  installed dependencies, all dependencies needed by a package are displayed merged into one list. Use  to get a shell-compatible and formatted dependency output list, like found in ebuilds.

Use  to get a shell-compatible and formatted dependency output list, like found in ebuilds.

To list all of the installed packages that depend on a package use the  option.

Search ebuilds or eclasses for a pattern (qgrep)
can be used to find ebuilds that mention an ebuild's name ("libechonest" is used in the example below) which will list all packages (installed or not) which depend on some package:

The  option will limit the search to installed packages. will print the atom instead of the filename.

Listing files that belong to an ebuild (qlist)
The command gives a list of all files that belong to an ebuild.

Looking for packages that use some USE flag (quse)
Listing used USE flags is done with. In its simplest form, it lists which ebuilds use a given USE-flag.

To display the description of a USE-flag, the  option can be used. This can be combined with the  option, which takes an atom name as argument, to list all USE-flags for the given atom.

Finding package sizes (qsize)
To show the size of a package, use the application:

Searching the Portage tree (qsearch)
One of the most powerful tools of is. This tool allows to search the Portage tree much faster than using the command.

Here are some examples of its usage:

The homepage of packages can be queried using the  option:

In another example, let's look for a jabber client:

Extracting information from emerge logs (qlop)
allows to extract useful information from the file. It can be useful when package compilation times need to be estimated or to compare build times with other systems. It also allows to check what is compiling at the moment and how long it will probably take - which is handy when working in the console and don't have any other means to check it.

Estimate how long a build takes:

See what is emerging at the moment and how long the process has been running already: