eix is a tool that allows for fast and highly flexible searching of the gentoo portage system. There is a guide of how to get it installed and basic usage instructions on the Gentoo Wiki.
In this post I would just like to point out the two most useful commands I have found while using eix.
First of all the format argument is one of the most powerful features of eix. I have found it to be very useful when using the available versions parameter. Which allows you to see all the available versions of a particular program, available on the portage tree.
Here is an example of using it to find all the avaliable versions of nmap within the portage tree
eix --format '<availableversions:NAMEVERSION>' -e nmap
Which will give you an output like
net-analyzer/nmap-4.76 net-analyzer/nmap-4.85_beta9 net-analyzer/nmap-4.90_rc1 net-analyzer/nmap-5.00 net-analyzer/nmap-5.00-r2 net-analyzer/nmap-5.10_beta1 net-analyzer/nmap-5.20 net-analyzer/nmap-5.21
Then if you wanted to install say version 5.20 of nmap you can just do
emerge =net-analyzer/nmap-5.20
Another really useful command is multi installed which as is implied allows you to find all packages that have multiple versions installed.
The command with it arguments for this is
eix -i
Since the output from this is quite big on my system I will give a different command and its output for example. This command does the same as mentioned above but is limited by category of ‘dev-lang’ and also used verbose output to make it a bit clearer.
The resulting command is
eix -C dev-lang -v -i
Which reveals that I have quite a few versions of python installed
Those are the quick two commands I wanted to point out for now. I highly recommend checking out eix as it makes a really good alternative to qsearch. When using eix checking out the manual is an absolute must as its over 50 pages long and gives you a true idea of the ammount of functionality avaliable.