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.