emerge
Install, update, and manage software packages
TLDR
Synchronize all packages
Update all packages, including dependencies
Resume a failed update, skipping the failing package
Install a new package, with confirmation
Remove a package and its dependencies with confirmation
Remove orphaned packages (installed as dependencies but no longer required by any package)
Search the package database for a keyword
SYNOPSIS
emerge [options]
PARAMETERS
--ask
Prompts the user for confirmation before proceeding with the installation, update, or removal of packages.--sync
Updates the local package repository from the remote repository.--update
--deep
--newuse @world
Updates the entire system to the latest stable versions, recompiling packages with changed USE flags.--depclean
Removes orphaned dependencies that are no longer required by any installed packages.--search
Searches for packages matching the specified name.--info
Displays detailed information about a package, including dependencies, USE flags, and description.--unmerge
Removes the specified package from the system.--config-protect=no
Allows the installation to continue with the modification of protected configuration files.--with-bdeps=y
Install build dependencies
DESCRIPTION
emerge
is the heart of the Gentoo Linux distribution. It's a powerful, flexible, and highly configurable package manager responsible for installing, updating, and removing software on a Gentoo system. Unlike binary package managers that install pre-compiled packages, emerge
typically compiles software from source code using Portage, Gentoo's build system. This allows for fine-grained control over software configuration and optimization for specific hardware. Emerge handles dependency resolution, ensuring that all required libraries and tools are installed before building a package. It also supports features like USE flags, which allow users to enable or disable specific features of a package during compilation. Think of it as a highly customizable build orchestrator that automatically downloads, configures, compiles and install packages based on user preference. emerge
is not just a command; it's an entire ecosystem.
CAVEATS
emerge
can be resource-intensive, especially when compiling large packages.
Incorrect configuration can lead to system instability. Careful review of USE flags and configuration files is recommended.
<B>USE FLAGS</B>
USE flags are a key feature of emerge
and Portage.
They allow users to enable or disable specific features of a package during compilation.
This provides fine-grained control over software functionality and dependencies.
Example: USE="-gnome qt5" emerge
disables Gnome and enables Qt5 support for a package.
<B>PACKAGE SETS</B>
emerge
uses package sets (e.g., @world
, @system
) to manage collections of packages.
@world
represents the set of all packages explicitly installed by the user, while @system
represents the essential packages required for the system to function.
Updating @world
ensures that all user-installed packages are up-to-date.
<B>CONFIGURATION FILES</B>
Configuration files reside in /etc/portage
.
This directory contains important configurations for emerge
.
Files such as make.conf
and package.use
play an important part of the emerge
's behaviour.
HISTORY
emerge
was specifically developed for the Gentoo Linux distribution.
It evolved alongside Portage, Gentoo's build system, to provide a highly customizable and flexible package management solution.
Its design emphasizes building from source, allowing users to optimize software for their specific hardware and needs.