Eselect

 is Article description::a tool for administration and configuration on Gentoo systems. It will modify the system's behavior and should be used with care by the system administrator. is a modular framework for writing configuration utilities, consisting of:


 * a main program named (found in )
 * various modules ( files) which carry out different tasks
 * several libraries which help to ensure consistent behavior and simplify the creation of new modules

A module provides several actions. Actions typically either display some information ( and actions are common) or update the system somehow (for example,  and ). Each module also provides and  actions which explain how to use the module.

To list all currently installed modules, run without any arguments. See also the eselect user guide.

Installation
Deployments of Gentoo Linux should already have installed, as the  package is part of the system set.

After USE flag changes
After changing USE flags just for the eselect package, rebuild eselect for the new flags to be applied. As eselect is in the system set,  should be used to avoid adding it to the world file:

After changing any global USE flags in make.conf that affect the eselect package, emerge world to update to the new USE flags:

Modules
Install an eselect module just like any other package. For example, for the module:

Some modules will be pulled in when installing packages that depend on them.

See the eselect modules section for information on finding optional modules for installation.

Invocation
Just running, or for a little more information, will provide usage information and list all installed modules and their function:

Modules
Gentoo has tens of eselect modules available, to automate various system configuration tasks. Several modules allow to select between optional subsytems, such as which installed vi editor package to use, emacs distribution to be default, or what shell to use for login...

Some modules are shipped by default with eselect, while other modules can be installed from the Gentoo repository.

To list all modules currently installed, run without any arguments.

Default modules
These modules are maintained as part of the eselect project, so they should be available as long as the package is installed.

Arptables, iptables, and ebtables
Manage the iptables/arptables/ebtables symlinks. Because is part of the system set,  is often pulled in by the dependency graph, to provide these modules.

Binutils
Manage installed versions of. This module is not provided as part of the package, but is from, a dependency of. As is part of the system set,  should be available on all Gentoo systems.

Editor
Manage the EDITOR environment variable, this determines what many CLI programs will run to edit text files.

See also the visual module section.

See setting default text editor.

Env
Manage environment variables set in.

Gcc
Manage installed versions of sys-devel/gcc. Because is part of the system set,  will be pulled in, providing this module.

Se also upgrading GCC.

Kernel
The symlink should point to the currently running kernel, this can be done with.

See setting the kernel link with eselect.

Locale
Manage the LANG environment variable, this sets the system language for users, date formats etc.

See the handbook, localization guide and UTF-8 article.

Modules
Query eselect modules.

News
Read Gentoo ("GLEP 42") news items. It is important to read and follow these, when they are shown after a Gentoo ebuild repository synchronization.

Pager
Manage the PAGER environment variable, this will influence what programs will use to display pages of text to the user.

Profile
Manage the make.profile symlink, this is an important configuration item for Portage, and for the whole system.

See handbook, and the article about profiles.

Rc
Manage OpenRC scripts.

Visual
Manage the VISUAL environment variable, to set the default text editor for capable terminals.

See also the editor module section.

See the text editor article.

Additional modules
Here are some of the modules that can be installed from the Gentoo repository, and are documented in the wiki:


 * eselect bashcomp - enable or disable specific completions.
 * eselect blas / eselect lapack - BLAS/LAPACK switching: numerical linear algebra libraries.
 * eselect emacs - link /usr/bin/emacs and its auxiliary programs to the ones belonging to the desired Emacs version.
 * eselect fontconfig - manage symlinks of files in.
 * eselect gnome-shell-extensions - manage system defaults that control whether Gnome shell extensions were installed system-wide.
 * eselect java-vm - set default Java VM.
 * eselect php cli - select which CLI PHP version to use by default.
 * eselect php apache2 - change which version of PHP is used by Apache.
 * eselect pinentry - choose between pinentry windows.
 * eselect python - configure preferred/active Python interpreters.
 * eselect repository - manage entries.
 * eselect ruby - change the selected Ruby slot.
 * eselect sh - change the default system shell.