|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 Available 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 |
Traditional | Immutable snapshot-based |
|
Traditional |
Traditional | Immutable 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 |
No (despite such policy there is a non-free repo) |
No |
No, installation even includes non-free apps |
No |
No |
No |
No |
No |
No |
| | | | | | | | | | | | |
Release schedule & Reliability |
| | | | | | | | | | | | |
Release model |
Fixed |
Fixed |
Fixed |
Fixed |
Fixed |
Fixed |
Fixed |
Fixed |
Hybrid |
LTS option (>5 yrs) |
Yes (5 years) |
Yes (12 years) |
No |
Yes (up to 19 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 |
|
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 |
Yes |
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 (Tik)Aeon only, Kalpa uses Yast but this might change in the future |
|
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 |
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 part. | ZRAMAeon only, Kalpa has no swap but this might change in the future |
|
Swap partition |
ZRAM |
Swap partition |
ZRAM |
Swap partition |
Swap partition |
ZRAM (archinstall) |
no default |
no default |
Swap partition |
no default |
No swap |
No swap |
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 |
| | | | | | | | | | | | |
Supported desktops: |
| | | | | | | | | | | | |
KDE Plasma |
Option during installation |
Kubuntu |
Option d. inst. | KalpaStill experimental |
|
In Package Hub |
|
In EPEL |
Default |
Pre-selected choiceAlso available as Live Image |
Plasma Edition |
Option during installationwith `archinstall` |
Default |
In repo |
Available via setup-desktop |
In repo |
Option during installation |
In repo |
Plasma Edition |
GNOME |
Pre-selected choice |
Default |
Option d. inst. | AeonStill experimental |
|
Default |
|
Default |
GNOME Spin |
Option during installationAlso available as Live Image |
No |
Option during installationwith `archinstall` |
In Slackbuilds |
In repo |
Available via setup-desktop |
In repo |
Pre-selected choice |
Option during installation |
GNOME Edition |
Xfce |
Option during installation |
Xubuntu |
|
In Package Hub |
|
In EPEL |
In repo |
Available as Live Image |
Xfce Edition |
Option during installationwith `archinstall` |
Option during installation |
In repo |
Available via setup-desktop |
Installable Live Image |
Option during installation |
Option during installation |
Xfce Edition |
MATE |
Option during installation |
Ubuntu MATE |
|
In Package Hub |
|
In EPEL |
In repo |
In repo |
MATE Edition |
Option during installationwith `archinstall` |
In Slackbuilds |
In repo |
Available via setup-desktop |
In repo |
Option during installation |
Option during installation |
In repo |
LXQt |
Option during installation |
Lubuntu |
|
In Package Hub |
|
No |
LXQt Spin |
In repo |
In repo |
Option during installationwith `archinstall` |
In Slackbuilds |
In repo |
In repo |
In repo |
Option during installation |
In repo |
No |
Cinnamon |
Option during installation |
Ubuntu Cinnamon |
|
In Package Hub |
|
In EPEL |
In repo |
In repo |
In repo |
Option during installationwith `archinstall` |
No |
In repo |
No |
In repo |
Option during installation |
No |
No |
Budgie |
In repo |
Ubuntu Budgie |
|
In Package Hub |
|
No |
In repo |
No |
No |
Option during installationwith `archinstall` |
In Slackbuilds |
No |
No |
In repo |
In repo |
No |
Budgie Edition |
Unity |
No |
Ubuntu Unity |
No |
No |
No |
No |
No |
No |
No |
3rd-party repo |
No |
3rd-party overlay |
No |
No |
No |
No |
No |
| | | | | | | | | | | | |
Package management |
| | | | | | | | | | | | |
Main package manager |
apt |
apt |
zypper | transactional-update |
|
zypper |
|
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 |
Supported "universal" package formats: | | | | | | | | | | | | | |
Flatpak |
In repo |
In repo |
Preinstalled |
In Package Hub |
Preinstalled |
In repo |
Preinstalled |
Preinstalled |
In repo |
In repo |
In Slackbuilds |
In repo |
In repo |
In repo |
In repo |
In repo |
In repo |
Snap |
In repo |
Preinstalled |
|
No |
|
In EPEL |
No |
No |
No |
In AUR |
No |
In repo |
No |
No |
No |
No |
DroppedSupport for Snap will be ended at the beginning of 2025, previously it was preinstalled.> |
AppImage |
Should work |
Should work |
Should work | Nodue to missing libfuse2 |
|
Should work |
Should work |
Should work |
Should work |
Should work |
Should work |
Should work |
Should work |
Should work |
Most likely not workingdue to missing glibc |
Should work with glibcbut not musl |
Should work (appimage-run ) |
Should work (--emulate-fhs guix shell --container --emulate-fhs) |
Should work |
Nix |
In repo |
In repo |
Install scriptvia generic installer script for Nix | No |
|
Install scriptvia generic installer script for Nix |
Install scriptvia generic installer script for Nix | No |
|
Install scriptvia generic installer script for Nix |
Install scriptvia generic installer script for Nix |
Install scriptvia generic installer script for Nix |
Install scriptvia generic installer script for Nix |
In repo |
In Slackbuilds |
Install scriptvia generic installer script for Nix |
In repo |
In repo |
Preinstalled |
In repo |
Install scriptvia generic installer script for Nix |
Guix |
In repo |
In repo |
|
Install scriptvia generic installer script for Guix |
Install scriptvia generic installer script for Guix | No |
|
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 |
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 |
Install scriptvia generic installer script for Guix |
Preinstalled |
Install scriptvia generic installer script for Guix |
OCI containers (docker/podman) |
In repo |
In repo |
In repo | Preinstalledpodman |
|
In repo |
In repo | Preinstalledpodman |
|
In repo |
In repo |
In repo |
Generic binaryBoth Docker and Podman can be installed on any Linux distribution, but no official package is available in the distro's repository. |
In repo |
In Slackbuilds |
In repo |
In repo |
Generic binaryBoth Docker and Podman can be installed on any Linux distribution, but no official package is available in the distro's repository. |
In repo |
In repo |
In repo |
|
Other cross-platform package managers such as `brew`, `pkgsrc` or `0install` are widely compatible across Linux distributions, but are not preinstalled on any of the listed distributions. |
| | | | | | | | | | | | |
Security |
| | | | | | | | | | | | |
Full-disk encryption option in installer |
Yes |
Yes |
Yes | YesMandatory for Aeon, see here, but not (yet) for Kalpa |
|
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 |
NoWhile Debian does support Secure Boot, you'll have to enroll your own MOK certificate and sign the kernel yourself. That also means you cannot install Debian without first disabling Secure Boot. On the other hand, Ubuntu, Fedora/RHEL and OpenSUSE/SLE offer Secure Boot working out of the box with most x86 systems without any fiddling. |
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 |
SELinux |
AppArmor |
SELinux |
SELinux |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
AppArmor |