← Sitemap

Comparison of Linux Distributions

It's a well known fact that there's hundreds of different Linux distributions, with many of them gaining sudden popularity or falling back into relative obscurity. As of 2023, I'd say the most important distributions - those that are here to stay for another decade at least and those that have a significant mindshare on the desktop - are just five: Debian, Ubuntu, Fedora, openSUSE, and Arch. Everything else is more of a niche distribution, be it for servers (RHEL, SLE), nerds and greybeards (Gentoo, Slackware), or to make an existing general-purpose distro slightly more user-friendly for novice users (Zorin, pop_OS).

Distributions mostly differ in their package manager and their default choices (desktop environment and so on). Furthermore, there are clearly different tiers of difficulty from beginner-level to expert, for example like this:

Beginners. Easy to use and work out of the box.

Beginners to Intermediate. Same as above but some post-install tweaks needed (e.g. codecs, Nvidia). Advanced users. Anyone can use them but to set everything up you need to be willing to read the documentation and get comfortable with the command line. Experts. Same as above but there is additional distro-specific knowledge to learn.

For this comparison I have focused mostly on "original" distributions rather than forks as there's often only superficial differences between closely related distros. For example, the only differences between Ubuntu and Mint would be that Mint is only available for x86_64, that fewer desktop environments are available "preinstalled" for Mint, that Mint doesn't have the longer update support that Ubuntu Pro offers, and that Mint preinstalls Flatpak instead of Snap.

Comparison of Linux Distributions

Source: eylenburg.github.io

Last updated: 9 April 2024

Debian Ubuntu openSUSE SUSE Linux Enterprise Fedora Red Hat Enterprise Linux OpenMandriva
ROME
Mageia PCLinuxOS Arch Slackware Gentoo Alpine Void NixOS Guix System Solus
Tumble­weedMicroOS
Work­stationAto­mic Desk­top
Development & Background
Based on... Independent Debian Independent openSUSE Independent Fedora Independent Independent (forked from Mandriva) Independent (forked from Mandriva) Independent Independent Independent Independent Independent Independent Independent Independent
Initial release 1993 2004 1994 (Suse) 1995 (Red Hat) 1998 (Mandrake) 2010 2003 2002 1993 2002 2005 2008 2003 2013 2015
Community-driven or Corporate Community Corporate (Canonical) Community, with corporate backing (SUSE) Corporate (SUSE) Community, with corporate backing (IBM) Corporate (IBM) Community Community Community Community Community Community Community Community Community Community Community
Price Free Free Free Paid Free Paid, free subscription for developers Free Free Free Free Free Free Free Free Free Free Free
Freedom & adherence to GNU GPL Free Free Free Free Free IBM does not allow sharing of source codeWhile IBM makes the source code Availa­ble to subscribers as required by the GNU GPL, they reserve the right to cancel the subscriptions and therefore also further software updates from clients who share the source code with third parties. This clearly is a violation of the spirit and possibly even wording of the GNU GPL, as it essentially means you can only share the source code once before IBM cancels your subscription. Free Free Free Free Free Free Free Free Free Free Free
Philosophy
Primarily source-based vs binary packages Binary
 
Binary Binary Binary Binary Binary Binary Binary Binary Binary Binary Hybrid Binary Hybrid Hybrid Source-based Binary
Immutable or traditional? Traditional Traditional
Tradi­tionalImmu­table snap­shot-based
Traditional
Tradi­tionalImmu­table image-based
Traditional Traditional Traditional Traditional Traditional Traditional Traditional Traditional Traditional Immutable declarative Immutable declarative Traditional
Fully reproducible system? No
 
No No No No No No No No No No No No No Yes Yes No
Only allows free software in repos? No (despite such policy there is a non-free repo) No No No Yes, except non-free firmware Yes, except non-free firmware No (despite such policy there is a non-free repo) No No, installation even includes non-free apps No No No Yes, except non-free firmware No No Yes, and even uses the linux-libre kernel No
Release schedule & Reliability
Release model Fixed Fixed Rolling (...)There is also a fixed release version called Leap, but this comparison focuses on the rolling version called Tumbleweed. Fixed Fixed Fixed Rolling (...)There is also a fixed release version called Rock, but this comparison focuses on the rolling version called Rome. Fixed Rolling Rolling Fixed Rolling Fixed Rolling Hybrid Rolling Rolling
LTS option (>5 yrs) Yes (5 years) Yes (12 years) No Yes (13 years) No Yes (13-15 years) No No No No Yes (no fixed EOL date) No No No No No No
Ability to roll back updates? No No snapper rollback snapper rollback
Norpm-ostree rollback
No No No No No No No No No nixos-rebuild switch guix system roll-back eopkg history
CPU compatibility
amd64 (64-bit AMD/Intel) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
aarch64 (64-bit ARM) Yes Server image Yes Server image Yes Yes Yes No No No Yes Yes Yes Yes Yes No No
ppc64le (IBM POWER9/10) Yes Server image Server image Server image Yes Yes No No No No No Yes Yes No No No No
s390x (IBM Z) Yes Server image Server image Server image Server image Yes No No No No No Yes Yes No No No No
riscv64 (RISC-V) Experimental Server image Experimental No Experimental No Experimental No No No No Yes No No No No No
i686 (legacy 32-bit Intel/AMD) Yes No Yes No No No No Yes No No Yes Yes Yes Yes Minimal image Yes No
Ease of use (default setup)
Graphical installer? Yes (Debian-Install) Yes (Subiquity) Yes (Yast) Yes (Yast) Yes (Anaconda) Yes (Anaconda) Yes (Calamares) Yes (DrakX) Yes (DrakX) Text-based (archinstall) Test-based (Slackware Setup) No, manual install Text-based (setup-alpine) Text-based (void-installer) Yes (Calamares) Text-based (Guix installer) Yes (Calamares)
Desktop environment by default
(or offered during installation)?
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes (archinstall) Yes No, needs to be done post-install No, needs to be done post-install Only if installing from Xfce live image Yes Yes Yes
GUI for advanced system administration? No Limited (e.g. driver manager)
Yes (Yast)No
Yes (Yast) No No Yes (Control Center) Yes (Control Center) Yes (Control Center) No No No No No No No Limited (e.g. driver manager)
Graphical updating of packages
and system upgrades?
Updates only, not upgrades to next release Yes Yes Yes Yes Updates only, not upgrades to next release Yes Yes Yes No No No No No No No Yes
Offers to install proprietary codecs? No Yes No No No No Yes Yes Installed by default No No No No No No No Installed by default
Defaults
Default browser Firefox Firefox Firefox Firefox Firefox Firefox Chromium Firefox Firefox - Firefox - - - Firefox - Firefox
Default file system ext4 ext4 btrfs btrfs btrfs xfs ext4 ext4 ext4 no default no default no default ext4 no default ext4 ext4 ext4
Default swap approach Swap partition Swap file
Swap parti­tionNo swap
Swap partition Swap on ZRAM Swap partition Swap on ZRAM Swap partition Swap partition Swap on ZRAM (archinstall) no default no default Swap partition no default No swap No swap Swap on ZRAM
init system systemd systemd systemd systemd systemd systemd systemd systemd SysV init systemd SysV init OpenRC OpenRC runit systemd Shepherd systemd
Default C library glibc glibc glibc glibc glibc glibc glibc glibc glibc glibc glibc glibc musl Choice of glibc or musl glibc glibc glibc
Compiler used gcc gcc gcc gcc gcc gcc clang gcc gcc gcc gcc gcc gcc gcc gcc gcc gcc
Suppor­ted desktops:
KDE Plasma Option during instal­lation Kubuntu
Option during instal­lation
Kalpa
Aeon
No
In repo
In Package Hub
KDE SpinKinoite
In EPEL Default Pre-selected choiceAlso available as Live Image Plasma
Edition
Option during instal­lation (archinstall) Default In repo Availa­ble via setup-desktop In repo Option during instal­lation In repo Plasma
Edition
GNOME Pre-selected choice Default Default
DefaultSilver­blue
Default GNOME Spin Option during instal­lationAlso available as Live Image No In Slackbuilds Pre-selected choice Option during instal­lation GNOME Edition
Xfce Option during instal­lation Xubuntu In Package Hub
Xfce SpinNo
MATE Spin
Cinnamon Spin
LXQt Spin
In EPEL In repo Availa­ble as Live Image Xfce
Edition
Option during instal­lation Installable Live Image Option during instal­lation Xfce
Edition
MATE Ubuntu
MATE
In repo MATE
Edition
In Slackbuilds In repo In repo In repo
Cinnamon Ubuntu
Cinnamon
In repo No No No No
LXQt Lubuntu
 
No LXQt Spin In Slackbuilds In repo In repo
Budgie In repo Ubuntu
Budgie
Budgie SpinBudgie Atomic
In repo No No No No In repo No Budgie
Edition
Package management
Main package manager apt apt
zyppertransactional-update
zypper
dnfrpm-ostree
dnf dnf urpmi apt-rpm pacman slackpkg portage apk xbps Nix Guix eopkg
Native binary package format DEB DEB RPM RPM RPM RPM RPM RPM RPM PKG.TAR.ZST TXZ GPKG.TAR APK XBPS NAR.XZ "substitutes" EOPKG
Suppor­ted "universal" package formats:
Flatpak Sup­por­ted Sup­por­ted
 
Preinstalled
In OBSNo
Install scriptvia generic installer script for Nix
Sup­por­ted
Should work
In Package Hub Preinstalled Sup­por­ted Preinstalled Preinstalled Sup­por­ted Sup­por­ted In Slackbuilds Sup­por­ted Sup­por­ted Sup­por­ted Sup­por­ted Sup­por­ted Sup­por­ted
Snap Preinstalled
 
No
Sup­por­tedNo
Install scriptvia generic installer script for Nix and Guix
In EPEL No No No In AUR No No No No No Preinstalled
Nix Sup­por­ted Install scriptvia generic installer script for Nix and Guix Install scriptvia generic installer script for Nix and Guix Install scriptvia generic installer script for Nix and Guix Install scriptvia generic installer script for Nix and Guix Install scriptvia generic installer script for Nix and Guix Sup­por­ted In Slackbuilds Install scriptvia generic installer script for Nix and Guix Sup­por­ted Sup­por­ted Preinstalled Sup­por­ted
 
Install scriptvia generic installer script for Nix and Guix
Guix In AUR Install scriptvia generic installer script for Guix Install scriptvia generic installer script for Guix Install scriptvia generic installer script for Guix Install scriptvia generic installer script for Guix Preinstalled
 
AppImage Should work Should work Should work Should work Should work Should work Should work Should work Should work Should work Should work Most likely not working Should work with glibcbut not musl Should work (appimage-run) Should work (--emulate-fhsguix shell --container --emulate-fhs) Should work
Security
Full-disk encryption option in installer Yes Yes
Yes/home onlyReplaced with systemd-homed encryption
Yes Yes Yes Yes Can encrypt individual partitions when selecting "custom partitioning" Can encrypt individual partitions when selecting "custom partitioning" Yes (archinstall) No, manual setup using cryptsetup No, manual setup using cryptsetup Yes No, manual setup using cryptsetup Yes Yes Yes
Out-of-the-box support for Secure Boot Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
Kernel security module set up by default? AppArmor AppArmor
App­ArmorSE­Linux
AppArmor SELinux SELinux No No No No No No No No No No AppArmor

Appendix I: How different are they and how different have they been?

Since the beginning of Linux, different distributions come with different tools and packages, making it hard for developers to make sure that their applications work on all distributions. The most obvious user-facing differences are the choice in desktop environment (also see here for a timeline of default desktops) and the package formats used. I have looked at the most important Linux distributions for each year. Click on the years below to see what has changed over time. Overall, when looking at the seven categories below (desktop environment, toolkit, display server, init software, package formats, file systems, security modules) there has always been around 70-80% homogeneity across the four big distributions.

Select a year:

2000

Year 2000 - 79% homogeneity

Major Linux DistributionsDefault Desktop Environment1Preferred Toolkit for Applications2Default Display Server2Default Init SoftwareDefault Package FormatsDefault File SystemDefault Security Module
Debian GNU/Linux SysVinit
GNOME GTK X11 SysVinit DEB packages ext None
Linux-Mandrake SysVinit
KDE Qt X11 SysVinit RPM packages ext None
Red Hat Linux SysVinit
GNOME GTK X11 SysVinit RPM packages ext None
SuSE Linux SysVinit
KDE Qt X11 SysVinit RPM packages ReiserFS None
2005

Year 2005 - 79% homogeneity

Major Linux DistributionsDefault Desktop Environment1Preferred Toolkit for Applications2Default Display Server2Default Init SoftwareDefault Package FormatsDefault File SystemDefault Security Module
Debian GNU/Linux SysVinit
GNOME GTK X11 SysVinit DEB packages ext None
Mandrake Linux SysVinit
KDE Qt X11 SysVinit RPM packages ext None
Fedora Core SysVinit
GNOME GTK X11 SysVinit RPM packages ext SELinux
SuSE Linux SysVinit
KDE Qt X11 SysVinit RPM packages ext None
2010

Year 2010 - 71% homogeneity

Major Linux DistributionsDefault Desktop Environment1Preferred Toolkit for Applications2Default Display Server2Default Init SoftwareDefault Package FormatsDefault File SystemDefault Security Module
Debian GNU/Linux SysVinit
GNOME GTK X11 SysVinit DEB packages ext None
Ubuntu Desktop
GNOME GTK X11 Upstart DEB packages ext AppArmor
Fedora
GNOME GTK X11 Upstart RPM packages ext SELinux
OpenSUSE SysVinit
KDE Qt X11 SysVinit RPM packages ext AppArmor
2015

Year 2015 - 68% homogeneity

Major Linux DistributionsDefault Desktop Environment1Preferred Toolkit for Applications2Default Display Server2Default Init SoftwareDefault Package FormatsDefault File SystemDefault Security Module
Debian GNU/Linux
GNOME GTK X11 systemd DEB packages ext None
Ubuntu Desktop
Unity GTK X11 Upstart DEB packages ext AppArmor
Fedora Workstation
GNOME GTK X11 systemd RPM packages ext SELinux
OpenSUSE Leap
KDE Qt X11 systemd RPM packages btrfs AppArmor
2020

Year 2020 - 79% homogeneity

Major Linux DistributionsDefault Desktop Environment1Preferred Toolkit for Applications2Default Display Server2Default Init SoftwareDefault Package FormatsDefault File SystemDefault Security Module
Debian GNU/Linux
GNOME GTK Wayland systemd DEB packages ext AppArmor
Ubuntu Desktop
GNOME GTK X11 systemd DEB & Snap ext AppArmor
Fedora Workstation
GNOME GTK Wayland systemd RPM & Flatpak ext SELinux
OpenSUSE Leap
KDE or GNOME depends on selected desktop systemd RPM packages btrfs AppArmor
Today (2024)

As of today (2024) - 78% homogeneity

Major Linux DistributionsDefault Desktop Environment1Preferred Toolkit for Applications2Default Display Server2Default Init SoftwareDefault Package FormatsDefault File SystemDefault Security Module
Debian GNU/Linux
GNOME GTK Wayland systemd DEB packages ext AppArmor
Ubuntu Desktop
GNOME GTK Wayland systemd DEB & Snap ext AppArmor
Fedora Workstation
GNOME GTK Wayland systemd RPM & Flatpak btrfs SELinux
OpenSUSE Leap
KDE/GNOME/Xfce depends on selected desktop systemd RPM packages btrfs AppArmor

Source: eylenburg.github.io

Footnotes:
1: default or pre-selected desktop, same methodology as here
2: for default/pre-selected desktop

Appendix II: Linux distributions' relative popularity (on Distrowatch) over time

The graph below shows the relative amount of hits on Distrowatch for the different Linux distributions, grouped by larger distro families and ancestries. The data is available for 2002-2023Q1. As well all know, Distrowatch hits are NOT a reliable indicator for the market share - just think of the mysterious #1 position of MX Linux - but nevertheless it's quite interesting to see how things have changed over time. The greater Debian family now dominates, although Arch-based distros have also recently gained a lot of popularity. At the same time, Gentoo, Slackware, (open)SUSE, Red Hat/Fedora and Mandriva have lost in the Distrowatch rankings compared to the early 2000s.

How to read it? Like any other diagram showing market share over time. The x-axis moves along the years starting in 2002, and the thickness of the coloured slices along the y-axis indicates the relative amount of Distrowatch hits compared to other Linux distributions. In the large chart at the top, all Linux distributions add up to 100%. In the smaller chart at the bottom it works similarly, with Linux, *BSD, and Solaris/Illumos adding up to 100% and the relative thickness showing the relative amount of clicks of these three OS families. (Note that the two charts are not using the same scale on the y-axis.)