euse
Enable or disable Gentoo USE flags
TLDR
List active global USE flags
List active local USE flags
Enable a global USE flag
Disable a global USE flag (put a '-' sign in front of the USE flag)
Remove a global USE flag
SYNOPSIS
euse [options] [USE_FLAG...]
euse -s | --show [USE_FLAG...]
euse -a | --all
euse -e | --enable [package:]USE_FLAG...
euse -d | --disable [package:]USE_FLAG...
euse -u | --unset [package:]USE_FLAG...
euse -E | --global-enable USE_FLAG...
euse -D | --global-disable USE_FLAG...
euse -i | --info USE_FLAG...
PARAMETERS
-a, --all
Displays all known USE flags and their current state (enabled/disabled).
-s, --show
Displays the state of specified USE flags. If no flags are given, it shows all active flags.
-e, --enable
Enables one or more USE flags for a specific package or globally. Use package:USE_FLAG for package-specific, or just USE_FLAG for global (when not in -E mode).
-d, --disable
Disables one or more USE flags for a specific package or globally. Similar to -e regarding scope.
-u, --unset
Unsets (removes from configuration) one or more USE flags for a specific package or globally.
-E, --global-enable
Enables one or more USE flags globally by adding them to /etc/portage/make.conf. Requires root.
-D, --global-disable
Disables one or more USE flags globally by adding them to /etc/portage/make.conf with a leading '-'. Requires root.
-p, --package
When used with -e, -d, or -u, forces the operation to apply only to the specified package (e.g., euse -p dev-libs/glib -e introspection).
-g, --global
When used with -e, -d, or -u, forces the operation to apply globally (e.g., euse -g -e systemd).
-c, --clean
Cleans up invalid or obsolete USE flags from configuration files.
-i, --info
Displays detailed information about specified USE flags, including their descriptions and typical usage.
-N, --no-color
Disables colored output.
-f, --force
Forces an action that might otherwise be prevented (e.g., ignoring warnings).
-h, --help
Displays a help message and exits.
-V, --version
Displays version information and exits.
DESCRIPTION
euse is a utility specific to the Gentoo Linux distribution, designed for managing USE flags.
USE flags are keywords that define optional compile-time or runtime features for packages. They allow users to customize their system by enabling or disabling specific functionalities (e.g., gnome, kde, systemd, bluetooth). euse simplifies the process of viewing, enabling, and disabling these flags.
It operates on two main scopes: package-specific USE flags (stored typically in /etc/portage/package.use) and global USE flags (stored in /etc/portage/make.conf). Using euse, administrators can quickly inspect which USE flags are currently active, enable new ones for specific packages or globally, or disable unwanted features.
This helps in building a leaner, more customized system by only compiling software with the features truly needed, thereby reducing dependencies and potential attack surface. After modifying USE flags, a system update (emerge --ask --update --deep --newuse @world) is usually required for changes to take effect.
CAVEATS
euse is a Gentoo-specific command and is not available on other Linux distributions.
Modifying USE flags, especially globally, can significantly impact system stability and compilation times. Incorrectly setting USE flags can lead to broken packages or dependency conflicts.
Changes made by euse (when enabling/disabling) are written to configuration files (e.g., /etc/portage/make.conf or /etc/portage/package.use). For these changes to take effect, a subsequent emerge --ask --update --deep --newuse @world command is typically required to recompile affected packages.
Root privileges are required to modify USE flags via euse.
PERSISTENT CHANGES
USE flag modifications made with euse are persistent across reboots because they are written to configuration files.
RE-EMERGING PACKAGES
After changing USE flags, it's crucial to run emerge --ask --update --deep --newuse @world to ensure all affected packages are recompiled with the new flag settings. Failing to do so can lead to inconsistencies or broken functionality.
HISTORY
euse is an integral part of the Gentoo Linux distribution's toolset, developed alongside the Portage package manager to simplify the management of its unique USE flag system. The USE flag concept itself was a foundational design choice for Gentoo, allowing extreme flexibility and customization. euse emerged as a user-friendly command-line interface to interact with these flags, abstracting away the direct editing of configuration files like /etc/portage/make.conf and /etc/portage/package.use. Its development has focused on providing convenient ways to query, enable, and disable flags, making it a staple utility for Gentoo users to tailor their system to their precise needs, ensuring efficiency and minimal bloat.
SEE ALSO
emerge(1), portage(5), make.conf(5), package.use(5)