Gentoo

Compile everything. Total control over every byte in your system.

Development Advanced

Overview

Based onIndependent
Package managerPortage (emerge)
Package formatSource-based ebuilds (binary packages also available)
Release modelRolling release
Default DENone (you choose and compile)
Init systemOpenRC (default) or systemd (supported)
Websitegentoo.org

Why Gentoo?

Package Management

Gentoo uses Portage and the emerge command. Packages are compiled from source using ebuilds (build scripts).

# Sync the Portage tree (get latest package definitions)
sudo emerge --sync

# Install a package (compiles from source)
sudo emerge --ask www-client/firefox

# Update entire system
sudo emerge --ask --update --deep --newuse @world

# Search for a package
emerge --search "text editor"
# Or search descriptions:
emerge --searchdesc "image editor"

# Remove a package
sudo emerge --deselect www-client/firefox
sudo emerge --depclean

# Show info about a package
emerge --info www-client/firefox

# List installed packages
qlist -Iv

USE Flags

# View USE flags for a package
emerge --info www-client/firefox | grep USE
equery uses www-client/firefox

# Set global USE flags in /etc/portage/make.conf
# Example: USE="X gtk -gnome -kde pulseaudio alsa"

# Set per-package USE flags in /etc/portage/package.use/
# Example: echo "www-client/firefox hwaccel" >> /etc/portage/package.use/firefox

# After changing USE flags, rebuild affected packages
sudo emerge --ask --update --deep --newuse @world

Binary Packages

# Gentoo now supports binary packages for faster installs
# Enable binhost in /etc/portage/binrepos.conf

# Install a binary package if available
sudo emerge --ask --getbinpkg www-client/firefox

# Mix binary and source: use binaries when available, compile the rest
sudo emerge --ask --getbinpkg --update --deep @world
Time commitment: Compiling large packages like Firefox, Chromium, or LibreOffice can take hours depending on your hardware. A full system install can take a day or more. Gentoo's binary packages option can help, but expect to invest significant time regardless. This is a distro for people who enjoy the process.

make.conf Essentials

# /etc/portage/make.conf - key settings

# CPU optimization (use 'gcc -march=native -Q --help=target' to find yours)
COMMON_FLAGS="-march=native -O2 -pipe"

# Parallel compilation (number of CPU cores + 1)
MAKEOPTS="-j9"

# Global USE flags
USE="X wayland gtk -gnome -kde pulseaudio pipewire vulkan"

# Video card drivers
VIDEO_CARDS="amdgpu radeonsi"
# or VIDEO_CARDS="nvidia"
# or VIDEO_CARDS="intel"

# Accept licenses
ACCEPT_LICENSE="*"

Tips