LinuxCommandLibrary

eix

Search for packages in Gentoo Portage

TLDR

Search for a package

$ eix [query]
copy

Search for installed packages
$ eix --installed [query]
copy

Search in package descriptions
$ eix --description "[description]"
copy

Search by package license
$ eix --license [license]
copy

Exclude results from search
$ eix --not --license [license]
copy

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)

Copied to clipboard