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 {list | set profile_id | set profile_name}

PARAMETERS

list
    Displays a numbered list of all available system profiles, marking the currently active profile with an asterisk.

set profile_id
    Switches the active system profile to the one identified by the numeric profile_id from the list output. This is the most common and recommended method for setting a profile.

set profile_name
    Changes the active system profile using its full path or descriptive name (e.g., default/linux/amd64/17.0/desktop). While possible, using the numeric ID is generally more robust.

DESCRIPTION

The eselect-profile command is a module of the broader eselect utility in Gentoo Linux, specifically designed for managing system profiles. System profiles are foundational to Gentoo's highly customizable nature, defining the base architecture, default USE flags, and package sets for a given installation (e.g., desktop, server, hardened). This command provides an interactive and user-friendly interface to list all available profiles and to switch the active system profile. Changing the profile dictates how Portage, Gentoo's package manager, resolves dependencies and compiles software, profoundly impacting the system's functionality, performance, and security. It is a critical tool for maintaining and adapting a Gentoo system to specific needs.

CAVEATS

Only applicable to Gentoo Linux distributions.
Incorrectly switching profiles can lead to system instability or breakages due to changes in USE flags and package requirements.
Always review potential impacts before changing the profile, especially on production systems. After changing a profile, it's often necessary to run emerge -uDNa world to reconcile package dependencies with the new profile's settings.

WHAT ARE GENTOO SYSTEM PROFILES?

Gentoo system profiles are directories located under /usr/portage/profiles that define the base set of USE flags, ARCH, and other Portage variables for a specific system configuration. They are fundamental to Gentoo's flexibility, allowing users to tailor their system from the ground up (e.g., server, desktop, hardened, musl). The active profile is symlinked from /etc/portage/make.profile and is crucial for Portage to correctly resolve dependencies and compile packages according to the chosen system type.

CHECKING THE CURRENT PROFILE

You can always check your currently active profile by examining the target of the symlink at /etc/portage/make.profile. Alternatively, running eselect profile list will display all available profiles, with the currently active one marked by an asterisk (*).

HISTORY

Part of the broader 'eselect' utility, which has been a core component of Gentoo Linux since its early days, providing a centralized way to manage system-wide settings like kernel symlinks, OpenRC services, and Python interpreters. The 'profile' module specifically addresses the critical need to manage system profiles, which dictate the fundamental characteristics of a Gentoo installation and are vital for maintaining system consistency and optimization.

SEE ALSO

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

Copied to clipboard