Eix

eix is a set of utilities for searching and diffing the local Portage tree and overlays using a binary cache.

It is made to be more efficient and flexible than the emerge search functionality. eix comes with colorized output which helps users easily find the needed package information.

Installation
Install :

After the installation has finished, it is important to update the cache to index all packages on the system.

Updating the cache
Running following command will update the local eix cache which will index all packages on the system:

If overlays are used, it is recommended to configure eix to synchronize them too:

To spare some typing work, run following command:

The above command is a shorthand way to running these commands sequentially:

or something like. Check eix-sync with the  option for more information:

Adding overlays to the cache
To search not only in the portage tree but all the overlays, add overlays to the cache:

Simple search
To find package names containing kernel keyword:

Searching for installed packages
Search for installed packages using the  option:

Searching in package descriptions
To search in package descriptions use the  option. It is possible to print out results in a compact list using :

Searching in package categories
Search for certain category using the  optoin and print out the results in a compact list :

Searching for installed obsolete packages
Search for obsolete packages on the system using the eix-test-obsolete command:

Format strings
This is probably the most powerful aspect of eix, but the documentation is hard to understand. eix has a minilanguage for specifying more precise queries and output formats than are possible using only the basic options. The format string is specified as the option argument to the  option. There are basically two major concepts: properties and variables.


 * Properties: Each package has a set of associated properties that can either be printed or used as part of a predicate in a conditional block.
 * Variables: A variable can be any environment variable set in the environment of eix, or any of the variables printed from the output of eix --dump.

Conditional blocks
Conditional blocks take can 3 forms, each with an optional RHS, each of which can be optionally negated:

Using tmpfs cache
This breaks eix because is missing when  is mounted:

The simple solution is to move the eix cache file away from the default location:

One side effect is needing to run eix-update after reboot which will take a few seconds.