eselect-profile
Switch system profile
TLDR
List available profile symlink targets with their numbers
Set the /etc/portage/make.profile symlink by name or number from the list command
Show the current system profile
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+.


