A Linux distribution (“distro”) is a complete operating system built around the Linux Kernel. What differentiates distros is:

  1. The base (package ecosystem, repositories, release model)
  2. The desktop environment (GNOME, KDE Plasma, Xfce, Hyprland, etc.)
  3. The init system (systemd, OpenRC, runit, etc.)
  4. The philosophy (stability vs bleeding edge, simplicity vs control, declarative vs imperative)

These layers are somewhat independent — you can run KDE on Debian, or GNOME on Arch — but each distro makes default choices that define its character.

For the high-level “what is Linux” context, see Linux from Ten-Thousand-Foot. For immutable/container-optimized distros (CoreOS, Flatcar, Bottlerocket), see Modern Linux Distributions.


The Concept of a “Base”

When a distro is “based on” another, it inherits foundational characteristics. Think of it as a family tree. A derived distro takes the base’s work and adds customization, different defaults, or a different desktop environment on top.

What You Inherit From a Base

1. Package Format and Package Manager

FamilyPackage FormatPackage Manager(s)
Debian/Ubuntu.debapt, dpkg
Fedora/RHEL.rpmdnf (formerly yum), rpm
Arch.pkg.tar.zstpacman
openSUSE/SUSE.rpmzypper, rpm
NixOSNix derivationsnix
GentooSource ebuildsemerge (Portage)
Alpine.apkapk
Void.xbpsxbps

2. Package Repositories

More important than the format itself. Repositories determine what software is available, how current it is, how well-tested packages are together, and who maintains them. Debian has ~60,000+ packages, Nixpkgs has ~100,000+, the AUR has ~80,000+.

If software provides a .deb download, it works on Debian, Ubuntu, Mint, Pop!_OS, Peppermint, and every other Debian-based distro. The entire family benefits from shared packaging work.

3. Release Model

  • Stable / Point Release: Versions frozen at release. Only security patches backported. Examples: Debian Stable, Ubuntu LTS. Predictable but older software.
  • Rolling Release: No major version numbers. Packages continuously updated. Examples: Arch, openSUSE Tumbleweed, Void, NixOS unstable channel. Always latest, but potential for breakage.
  • Semi-rolling / Hybrid: Fedora releases every ~6 months but stays fairly current between releases. NixOS has both stable and unstable channels.

4. System Configuration Conventions

Each base has established patterns for where configuration files live, how services are managed, how the boot process is configured, and what patches are applied to upstream software. Debian applies many custom patches to integrate software into its ecosystem; Arch ships closer to upstream defaults.

5. Shared Bug Tracking and Security Patches

When a vulnerability is patched in Debian, all Debian-based distros benefit. The base acts as a shared maintenance layer, so smaller derived distros don’t need their own security teams for every package.


Major Family Trees

Debian Family

Debian
├── Ubuntu
│   ├── Linux Mint
│   ├── Pop!_OS (System76)
│   ├── Elementary OS
│   ├── Kubuntu (KDE flavor)
│   ├── Lubuntu (LXQt flavor)
│   ├── Xubuntu (Xfce flavor)
│   ├── Zorin OS
│   └── KDE neon
├── Peppermint OS (moved from Ubuntu to Debian in 2022)
├── MX Linux
├── Raspberry Pi OS
├── Devuan (Debian without systemd)
└── antiX
  • Package format: .deb / apt / dpkg
  • Init system: systemd (since Debian 8 Jessie, 2015). Devuan is the explicit fork avoiding systemd.
  • Philosophy: Stability, massive ecosystem, “the universal operating system”
  • Release model: Debian Stable freezes for ~2 years per cycle. Ubuntu releases every 6 months with LTS every 2 years (5+ year support).
  • Repository size: ~60,000+ packages
  • Practical implication: Most third-party Linux software targets .deb first. If you know Ubuntu, you can use any Debian-based distro with minimal adjustment — apt install, dpkg -i, systemctl are the same everywhere.

Red Hat / Fedora Family

Fedora
├── RHEL (Red Hat Enterprise Linux)
│   ├── CentOS Stream (upstream of RHEL)
│   ├── Rocky Linux (community RHEL rebuild)
│   ├── AlmaLinux (community RHEL rebuild)
│   └── Oracle Linux
└── Nobara (gaming-focused Fedora)
  • Package format: .rpm / dnf
  • Init system: systemd (Fedora was one of the earliest adopters; Lennart Poettering, systemd’s creator, works at Red Hat)
  • Philosophy: Cutting-edge but stable, enterprise-focused upstream. Fedora is the testing ground for what goes into RHEL.
  • Release model: Fedora every ~6 months. RHEL has 10+ year support.
  • Key difference from Debian: Fedora moves faster than Debian Stable or Ubuntu LTS. RHEL/Rocky/Alma dominate enterprise servers.

Arch Family

Arch Linux
├── Manjaro
├── EndeavourOS
├── Garuda Linux
├── CachyOS
└── Artix Linux (Arch without systemd)
  • Package format: .pkg.tar.zst / pacman
  • Init system: systemd (except Artix, which offers runit, OpenRC, s6, or dinit)
  • Philosophy: Simplicity, user-centric, bleeding edge, minimalism
  • Release model: Rolling — always the latest. Install once, update forever. No major version releases.
  • Key feature: The AUR (Arch User Repository) — community-maintained build scripts for virtually any software on Linux. Not officially supported but extremely comprehensive.
  • Reputation: “You learn Linux by using Arch.” The Arch Wiki is the best documentation resource in the Linux ecosystem, useful even for non-Arch users.

NixOS (Independent)

  • Package format: Nix derivations (defined in the Nix language)
  • Init system: systemd
  • Release model: Stable channels every ~6 months (e.g., 24.05, 24.11) plus an unstable rolling channel
  • Repository size: ~100,000+ packages in Nixpkgs
  • What makes NixOS fundamentally different:
    • The entire system is defined declaratively in .nix files (or Flakes)
    • Every change creates a new “generation” that can be atomically rolled back
    • No dependency hell — packages are isolated in /nix/store/ with content-addressable paths
    • Same configuration produces the same system regardless of prior state (reproducibility)
    • Multiple versions of the same package can coexist without conflicts
    • Home Manager extends declarative config to user-level dotfiles
  • Key difference: Every other traditional distro mutates state imperatively. NixOS is functional/declarative — you describe what you want, not how to get there. Like the difference between imperative and functional programming.
  • Trade-offs: Steep learning curve, the Nix language can be confusing, some FHS-expecting software needs special handling.

For NixOS-specific configuration patterns, see also dconf (declarative GNOME settings), GNOME (extension management), and Hyprland (portal configuration).

openSUSE / SUSE Family

openSUSE Tumbleweed (rolling release)
openSUSE Leap (stable, point release)
└── SUSE Linux Enterprise (SLE)
  • Package format: .rpm / zypper
  • Init system: systemd
  • Key feature: YaST (Yet another Setup Tool), a comprehensive graphical/TUI system administration tool
  • Notable: Uses .rpm like Fedora but is a completely independent family. RPM packages from Fedora and openSUSE are generally NOT interchangeable.
  • Reputation: Popular in Europe, strong in enterprise. Tumbleweed is one of the best rolling-release distros.

Gentoo Family

Gentoo
├── Calculate Linux
├── Sabayon / MocaccinoOS
└── (ChromeOS / ChromiumOS loosely derived from Portage)
  • Package format: Source ebuilds / emerge (Portage)
  • Init system: OpenRC by default (systemd available as option)
  • Key feature: USE flags — fine-grained control over what features are compiled into every package (e.g., compile Firefox without PulseAudio, or with Wayland but without X11)
  • Trade-off: Compilation takes a long time. Building Firefox from source can take hours. But you get a system perfectly tailored to your hardware.
  • Reputation: For people who want absolute control. Teaches you an enormous amount about how Linux works.

Independent / Niche Distros

DistroKey Trait
Alpine Linuxmusl libc + apk, extremely small, dominant in OCI containers
Void Linuxrunit init, xbps, rolling, musl or glibc option
Soluseopkg, Budgie desktop originated here
Clear LinuxIntel-optimized, swupd, performance-focused
Guix SystemSimilar philosophy to NixOS but using GNU Guile Scheme

Init Systems

The init system is the first process started by the Linux Kernel (PID 1). It starts all other services and manages the system lifecycle. See Linux Startup Process for the full boot sequence and detailed systemd coverage.

systemd

Used by the vast majority of modern distros (Fedora, Debian, Ubuntu, Arch, openSUSE, NixOS). Far more than just init — includes logging (journald), network management (networkd), DNS resolution (resolved), timer/cron replacement, container management (nspawn).

Controversial because it does so much (violating “do one thing well”), which led to forks like Devuan (Debian without systemd) and Artix (Arch without systemd).

Alternatives

Init SystemUsed ByCharacter
OpenRCGentoo (default), Alpine, Artix, DevuanDependency-based, shell scripts, traditional
runitVoid (default), ArtixMinimalist, service supervision, plain files
s6Artix, Chimera LinuxSmall, secure supervision suite
dinitArtix, Chimera LinuxNewer service manager
sysvinitDevuan (option)Traditional Unix System V init, largely replaced

Desktop Environments

Desktop environments are somewhat independent of the distro base. Most distros offer multiple choices. See Compositor for the Wayland vs X11 distinction.

DEToolkitDefault InCharacter
GNOMEGTKFedora, Ubuntu, DebianClean, opinionated, excellent Wayland support
KDE PlasmaQtKDE neon, Kubuntu, openSUSEFeature-rich, highly customizable
XfceGTKXubuntu, MX Linux, PeppermintLightweight, stable, traditional
CinnamonGTKLinux MintTraditional desktop, fork of GNOME 3
MATEGTKFork of GNOME 2, lightweight
BudgieGTKSolusClean, modern, GNOME-based
LXQtQtLubuntuVery lightweight

Window Managers (Not Full DEs)

WMDisplayCharacter
HyprlandWaylandDynamic tiling, animations, DIY ecosystem
SwayWaylandi3-compatible tiling compositor
i3X11Tiling window manager; Sway is its Wayland successor

Peppermint OS

  • Current base: Debian (since 2022; was previously Ubuntu-based)
  • Desktop: Xfce
  • Init system: systemd
  • Target audience: Users with older or low-specification hardware
  • History: Founded by Mark Greaves. After his passing in 2020, the project was revived and rebased from Ubuntu to Debian.
  • Signature feature: ICE (Site Specific Browsers) — wraps web apps into standalone desktop windows. Less compelling now that PWAs and Electron apps are widespread, but Peppermint remains a solid lightweight choice for repurposing old hardware.

Practical Implications

Software Availability

Software vendors typically prioritize:

  1. .deb (Debian/Ubuntu) — largest user base
  2. .rpm (Fedora/RHEL) — enterprise market
  3. Flatpak / Snap / AppImage — universal, distro-agnostic (see Package Managers)
  4. AUR script (Arch) — community-maintained
  5. Nix derivation — growing but smaller community

Installing the Same Tool Across Bases

# Debian/Ubuntu
sudo apt install ripgrep
 
# Fedora
sudo dnf install ripgrep
 
# Arch
sudo pacman -S ripgrep
 
# openSUSE
sudo zypper install ripgrep
 
# NixOS (declarative, in configuration.nix)
environment.systemPackages = [ pkgs.ripgrep ];
 
# NixOS (imperative)
nix profile install nixpkgs#ripgrep
 
# Gentoo
sudo emerge ripgrep
 
# Alpine
apk add ripgrep
 
# Void
sudo xbps-install ripgrep

The command differs but the result is the same. The real differences are how current the version is, how it’s built, and what dependencies are pulled in.

Community and Documentation

  • Debian/Ubuntu: Largest community. Ubuntu Forums, Ask Ubuntu on StackExchange.
  • Arch: The Arch Wiki is the single best Linux documentation resource. Useful even if you don’t run Arch.
  • Fedora: Strong developer community, close to upstream GNOME.
  • NixOS: Smaller but growing. Discourse, Matrix. Steeper learning curve.
  • Gentoo: Excellent wiki, smaller but very knowledgeable community.

Summary

FamilyPkg MgrInitRelease ModelFlagship DEKey Strength
Debian/UbuntuaptsystemdStable / LTSGNOMEEcosystem size, stability
Fedora/RHELdnfsystemdSemi-rolling / LTSGNOMECutting-edge + enterprise path
ArchpacmansystemdRollingUser choosesAUR, Arch Wiki, always latest
NixOSnixsystemdChannelsUser choosesReproducibility, declarative config
openSUSEzyppersystemdRolling / StableKDE PlasmaYaST, polish, enterprise
GentooemergeOpenRCRolling (source)User choosesTotal control, USE flags
AlpineapkOpenRCRollingMinimalTiny, musl, container standard
VoidxbpsrunitRollingUser choosesSimplicity, independence