A Linux distribution (“distro”) is a complete operating system built around the Linux Kernel. What differentiates distros is:
- The base (package ecosystem, repositories, release model)
- The desktop environment (GNOME, KDE Plasma, Xfce, Hyprland, etc.)
- The init system (systemd, OpenRC, runit, etc.)
- 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
| Family | Package Format | Package Manager(s) |
|---|---|---|
| Debian/Ubuntu | .deb | apt, dpkg |
| Fedora/RHEL | .rpm | dnf (formerly yum), rpm |
| Arch | .pkg.tar.zst | pacman |
| openSUSE/SUSE | .rpm | zypper, rpm |
| NixOS | Nix derivations | nix |
| Gentoo | Source ebuilds | emerge (Portage) |
| Alpine | .apk | apk |
| Void | .xbps | xbps |
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
.debfirst. If you know Ubuntu, you can use any Debian-based distro with minimal adjustment —apt install,dpkg -i,systemctlare 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
.nixfiles (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
- The entire system is defined declaratively in
- 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
.rpmlike 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
| Distro | Key Trait |
|---|---|
| Alpine Linux | musl libc + apk, extremely small, dominant in OCI containers |
| Void Linux | runit init, xbps, rolling, musl or glibc option |
| Solus | eopkg, Budgie desktop originated here |
| Clear Linux | Intel-optimized, swupd, performance-focused |
| Guix System | Similar 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 System | Used By | Character |
|---|---|---|
| OpenRC | Gentoo (default), Alpine, Artix, Devuan | Dependency-based, shell scripts, traditional |
| runit | Void (default), Artix | Minimalist, service supervision, plain files |
| s6 | Artix, Chimera Linux | Small, secure supervision suite |
| dinit | Artix, Chimera Linux | Newer service manager |
| sysvinit | Devuan (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.
| DE | Toolkit | Default In | Character |
|---|---|---|---|
| GNOME | GTK | Fedora, Ubuntu, Debian | Clean, opinionated, excellent Wayland support |
| KDE Plasma | Qt | KDE neon, Kubuntu, openSUSE | Feature-rich, highly customizable |
| Xfce | GTK | Xubuntu, MX Linux, Peppermint | Lightweight, stable, traditional |
| Cinnamon | GTK | Linux Mint | Traditional desktop, fork of GNOME 3 |
| MATE | GTK | — | Fork of GNOME 2, lightweight |
| Budgie | GTK | Solus | Clean, modern, GNOME-based |
| LXQt | Qt | Lubuntu | Very lightweight |
Window Managers (Not Full DEs)
| WM | Display | Character |
|---|---|---|
| Hyprland | Wayland | Dynamic tiling, animations, DIY ecosystem |
| Sway | Wayland | i3-compatible tiling compositor |
| i3 | X11 | Tiling 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:
.deb(Debian/Ubuntu) — largest user base.rpm(Fedora/RHEL) — enterprise market- Flatpak / Snap / AppImage — universal, distro-agnostic (see Package Managers)
- AUR script (Arch) — community-maintained
- 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 ripgrepThe 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
| Family | Pkg Mgr | Init | Release Model | Flagship DE | Key Strength |
|---|---|---|---|---|---|
| Debian/Ubuntu | apt | systemd | Stable / LTS | GNOME | Ecosystem size, stability |
| Fedora/RHEL | dnf | systemd | Semi-rolling / LTS | GNOME | Cutting-edge + enterprise path |
| Arch | pacman | systemd | Rolling | User chooses | AUR, Arch Wiki, always latest |
| NixOS | nix | systemd | Channels | User chooses | Reproducibility, declarative config |
| openSUSE | zypper | systemd | Rolling / Stable | KDE Plasma | YaST, polish, enterprise |
| Gentoo | emerge | OpenRC | Rolling (source) | User chooses | Total control, USE flags |
| Alpine | apk | OpenRC | Rolling | Minimal | Tiny, musl, container standard |
| Void | xbps | runit | Rolling | User chooses | Simplicity, independence |