The q applets are a collection of small and fast portage helper tools written in C. This guide covers some common uses of these helper tools, also known as the app-portage/portage-utils package.
- 1 Quick Reference
- 2 Introduction
- 3 Usage
- 3.1 How to find a package to which a file belongs
- 3.2 Verifying package integrity
- 3.3 Listing packages which depend on some package
- 3.4 Listing files that belong to an ebuild
- 3.5 Looking for packages that use some USE flag
- 3.6 Finding package sizes
- 3.7 Searching the Portage tree
- 3.8 Extracting information from emerge logs
- 4 Acknowledgements
You can install them as usual with:
To see the available applets with a short description of their function, do:
You may need to initialize the cache as root first:
portage-utils is a collection of very fast utilities written in C, which are meant to offer a faster but more limited alternative to their
gentoolkit counterparts. Please note that
portage-utils is not meant to replace
gentoolkit. Its utilities are much more efficient than the equivalent ones from
gentoolkit and might be better suited to be used in scripts that need to call Portage repeatedly, but
portage-utils does not offer the same functionalities. It does not consider eclasses at all and does not provide tools like
More information about
gentoolkit can be found in the Gentoolkit guide.
You can view the complete list of applications in
portage-utils by typing
man q or
q --help. 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.
How to find a package to which a file belongs
qfile finds the package to which a file belongs:
Verifying package integrity
If you want to check MD5 sums or mtimes of the files installed by some package, you can do it using the
Of course, all the files which were changed after installation will be reported here. If the application reports configuration files which you have manually edited after installation, there's nothing to worry about.
Listing packages which depend on some package
Of course there's also an application which allows you to list all the packages which depend on some package. This is done using
qdepends. Use the
-a flag to show all the DEPEND, RDEPEND, and PDEPEND information for a package.
Listing files that belong to an ebuild
qlist gives you a list of all files that belong to an ebuild.
Looking for packages that use some USE flag
This is done with
quse, which must be run as root. It may take some time to first create/update the ebuild cache.
Finding package sizes
This is done with
qsize application and is as simple as:
Searching the Portage tree
One of the most powerful tools of
qsearch. This tool allows you to search your Portage tree much faster than default
Here are some examples of its usage:
I want to thank the guy who made them. What's his homepage?:
I need a jabber client and I need it now:
Extracting information from emerge logs
There is also a tool that allows you to extract useful information from your emerge.log file. It's called
qlop and it can be useful when you want to estimate package compilation times or compare with your friends whose computer compiles faster. It also allows you to check what's compiling at the moment and how long it will take - which is handy when you're working in the console and don't have any other means to check it.
I'm starting to emerge perl and I want an estimate on how long it usually takes:
Now let's see what's emerging at the moment:
We would like to thank the following authors and editors for their contributions to this guide:
- Åukasz Damentko
- Joshua Saddler
- Marcelo Góes