eix
Search for packages in Gentoo Portage
TLDR
Search for a package
Search for installed packages
Search in package descriptions
Search by package license
Exclude results from search
SYNOPSIS
eix [options] [search-string]
PARAMETERS
-S, --search
Searches for packages by name (default behavior).
-D, --description
Searches for packages by description.
-I, --installed
Only shows installed packages matching the search string.
-u, --update
Lists packages that can be upgraded. Often used with `eix-sync`.
-U, --universe
Shows all versions of packages, including those not currently matching your USE flags or otherwise masked.
-e, --exact
Performs an exact string match for the search. Overrides globbing.
-g, --glob
Performs a glob-style match for the search (default behavior).
-r, --regex
Interprets the search string as a regular expression.
-s, --show-installed
Displays only installed versions of a package (useful when combined with a search string).
-a, --all
Shows all versions of a package, including masked ones, even if not matched by search.
-c, --compact
Provides a more compact output, ideal for scripting or quick overview.
-q, --quiet
Suppresses headers and other extraneous output, showing only the search results.
-v, --verbose
Increases verbosity, providing more details about packages, such as dependencies and use flags.
--sync
Updates the eix cache from the current Portage tree. This is crucial for up-to-date results.
--rebuild
Forces a complete rebuild of the eix cache. Use this if the cache seems corrupted or out of sync.
DESCRIPTION
eix is a highly optimized and incredibly fast command-line utility designed for searching packages within the Gentoo Linux Portage tree. Unlike `emerge --search`, which scans the Portage tree on every invocation, eix maintains a pre-indexed cache of all available packages, their descriptions, versions, use flags, and other metadata.
This caching mechanism allows eix to perform searches almost instantaneously, making it an indispensable tool for Gentoo users. It can search for packages by name, description, installed status, and supports various matching types including glob, exact, and regular expressions.
The output of eix is comprehensive, displaying information such as available versions (including masked ones), architecture, use flags, slots, and dependencies, often color-coded for readability. It's not just a search tool; it can also list installed packages, show packages needing updates, and provide detailed insights into specific packages.
CAVEATS
eix relies on a cached database of the Portage tree. For search results to be up-to-date, the cache must be regularly synchronized with the Portage tree using `eix --sync` or `eix-sync`. It is exclusively designed for Gentoo Linux and systems using the Portage package manager.
CACHE MANAGEMENT
For eix to provide accurate and current information, its cache needs to be updated regularly. This is typically done with `eix --sync` or by using the `eix-sync` wrapper script (which also runs `emerge --sync`). If the cache ever becomes corrupted or inconsistent, `eix --rebuild` can be used to perform a full re-indexation of the Portage tree, which can take some time.
CONFIGURATION
eix's behavior and output can be extensively customized via configuration files, primarily `/etc/eixrc` and `~/.eixrc`. These files allow users to define default search options, output formatting, color schemes, and more, tailoring eix to individual preferences and workflows.
HISTORY
eix was developed as a direct response to the performance limitations of `emerge --search`, which would often take a significant amount of time to scan the entire Portage tree. By introducing a persistent, indexed cache, eix dramatically sped up package searches, quickly becoming a de-facto standard and an indispensable utility for Gentoo users. Its development aimed to provide a fast, flexible, and feature-rich search interface that integrates seamlessly with the Portage ecosystem.
SEE ALSO
emerge(1), portage(5), eix-sync(1)