LinuxCommandLibrary

eselect-profile

Switch system profile

TLDR

List available profile symlink targets with their numbers

$ eselect profile list
copy

Set the /etc/portage/make.profile symlink by name or number from the list command
$ eselect profile set [name|number]
copy

Show the current system profile
$ eselect profile show
copy

SYNOPSIS

eselect profile <action> [<arguments>]

PARAMETERS

list [<repo>]
    List all available profiles in the specified repository or all repositories, showing index, name, and description.

set [<repo>] <index>
    Set the active profile by index within the repository (requires root).

info [<repo>] [<profile>]
    Display detailed information about a profile, including path, status, USE changes, and IUSE defaults.

update
    Update the local cache of available profiles from repositories.

list-flags [<repo>] <profile>
    List USE flags specific to the profile.

diff [<repo>] <profile1 profile2>
    Show differences between two profiles.

--prefix=<path>
    Global eselect option: Specify config directory prefix.

--config=<dir>
    Global: Use alternative config directory.

--colour=<yes|no|auto>
    Global: Control colored output.

DESCRIPTION

eselect profile is a module of the eselect utility in Gentoo Linux, used to manage system profiles. Profiles define core system configuration, including architecture, default USE flags, package versions, repository masks, and more. They allow users to switch between setups like default/linux/amd64/17.1/desktop (desktop), server, hardened, or custom profiles from third-party repositories such as Funtoo or Sabayon.

The tool lists available profiles from local caches (updated via eselect profile update), displays detailed info (path, description, USE changes), sets the active profile by updating the PROFILE variable in /etc/portage/make.conf, and supports comparing profiles or listing profile-specific flags.

Essential for Gentoo administration, it simplifies profile management without manual config editing. After switching profiles, run emerge --ask --verbose @preserved-rebuild to rebuild mismatched packages and ensure system stability. Supports multiple profile repositories via --repo or repo names. Requires root for changes.

CAVEATS

Requires root for set action. Profile changes do not auto-rebuild packages; use emerge @preserved-rebuild afterward. Incompatible profiles may break system; backup configs first.

EXAMPLES

eselect profile list
View available profiles.

eselect profile set default/linux/amd64/17.1 1
Select first profile in default repo.

eselect profile info 1
Show details of profile index 1.

PROFILE REPOSITORIES

Supports gentoo (default), funtoo, etc. List repos with eselect profile list --repo; add via /etc/portage/repos.conf.

HISTORY

Introduced in Gentoo's eselect framework around 2004 by Gentoo developers to standardize multi-choice configuration management. Profile module evolved with Portage and multi-repo support in 2015+.

SEE ALSO

eselect(5), emerge(1), make.conf(5), portage(5)

Copied to clipboard