LinuxCommandLibrary

euse

Enable or disable Gentoo USE flags

TLDR

List active global USE flags

$ euse [[-a|--active]] [[-g|--global]]
copy

List active local USE flags
$ euse [[-a|--active]] [[-l|--local]]
copy

Enable a global USE flag
$ sudo euse [[-E|--enable]] [use_flag]
copy

Disable a global USE flag (put a '-' sign in front of the USE flag)
$ sudo euse [[-D|--disable]] [use_flag]
copy

Remove a global USE flag
$ sudo euse [[-P|--prune]] [use_flag]
copy

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)

Copied to clipboard