Every distribution is the same Linux kernel with different decisions made around it: how often things change, who packages the software, and what is set up for you before you arrive. Twenty pages here, each ending with who should run it — and who should not.
Start with what you want
| What you are after | Read |
|---|---|
| Coming from Windows, and it should just work | Linux Mint |
| Setting up a machine for someone who did not choose Linux | Zorin OS and elementary OS |
| A desktop with an NVIDIA card in it | Pop!_OS |
| Current software on a desktop, on a six-month rhythm | Fedora |
| The safe default, with an answer to every search | Ubuntu |
| A server you set up once and leave alone for years | Debian |
| A server that has to match a Red Hat environment | Rocky and AlmaLinux |
| A fleet of machines that exist only to run containers | Fedora CoreOS, Flatcar and Talos |
| The newest of everything, and you will maintain it | Arch Linux |
| Arch, without doing the manual installation | Manjaro, EndeavourOS and CachyOS |
| Snapshots and rollback that genuinely work | openSUSE |
| A desktop an upgrade cannot break | Immutable and atomic distributions |
| A machine you can rebuild exactly, from a file | NixOS |
| A system built without something — no systemd, no X11 | Gentoo |
| Rolling and independent, with no systemd | Void Linux |
| To understand a system rather than operate one | Slackware |
| A very small container, a router or an old machine | Alpine Linux |
| Something to run on a Raspberry Pi | Raspberry Pi OS |
| Security and penetration testing tools | Kali, Parrot and BlackArch |
| Something that is not Linux at all | FreeBSD, OpenBSD and NetBSD |
Or start with how much change you want
This is the question underneath most of the arguments. Everything else follows from it.
| Model | What changes, and when | Where you find it |
|---|---|---|
| Long-term support | Almost nothing for years; you choose when to upgrade | Debian, Ubuntu LTS, Rocky, Alma, Mint, Zorin, openSUSE Leap |
| Regular releases | A new version every six months, supported for about a year | Fedora, Ubuntu’s interim releases |
| Rolling | Continuously, whenever you update | Arch and its derivatives, openSUSE Tumbleweed, Void, Gentoo, Kali |
| Image-based | Continuously, but atomically — and you can boot back | Fedora Silverblue and CoreOS, Flatcar, Talos, openSUSE MicroOS and Aeon |
| Declarative | When you change the file. Every previous state stays bootable | NixOS |
| When it is ready | No timetable at all — stable releases years apart, with a rolling development branch alongside | Slackware |
There is no correct answer. A laptop you enjoy tinkering with and a database server that must not surprise anyone want opposite things, and running both is entirely reasonable.
For desktops
- Linux Mint — the easiest landing from Windows: Ubuntu LTS underneath, no snaps, a desktop that behaves the way you expect
- Zorin OS and elementary OS — one shape-shifts to look like whatever you left; the other is a design project with its own desktop
- Pop!_OS — an installer image with the NVIDIA driver already on it, and COSMIC, a desktop written from scratch
- Fedora — current software, six-month releases, and where Red Hat is built
- Ubuntu — the default choice, and an honest look at when it should not be
For servers
- Debian — the one that changes least, and the base half this list is built on
- Rocky Linux and AlmaLinux — ten years of support without a subscription, and what replaced CentOS
- Ubuntu Server — five years of support and the widest cloud-image coverage
- openSUSE Leap — the same RHEL-adjacent stability with far better rollback
- Fedora CoreOS, Flatcar and Talos — hosts that run containers and nothing else, configured at first boot and updated as a whole image
Rolling releases
- Arch Linux — what a rolling release actually costs, and why partial upgrades break systems
- Manjaro, EndeavourOS and CachyOS — Arch with an installer, and the repository question that separates them
- openSUSE Tumbleweed — rolling, but with a snapshot to undo from the boot menu
Built your way
Four distributions that ask more of you and give back a system nobody else has. None of them belongs on a machine you need to hand to a colleague.
- Gentoo — USE flags decide what is compiled into every package, and the official binary host means you no longer have to build all of it
- Void Linux — independent, rolling, runit instead of systemd, and a choice of glibc or musl
- NixOS — the whole machine described in one file, with every previous version still in the boot menu
- Slackware — the oldest one still standing, with no dependency resolution on purpose and a stable release that looks abandoned and is not
Small hardware and containers
- Raspberry Pi OS — Debian tuned for the hardware, headless setup, and the SD card problem
- Alpine Linux — a few megabytes, runs from RAM, and behaves differently in ways you should know before committing
Special purpose
- Immutable and atomic distributions — read-only system files, transactional updates, and a previous version you can always boot into
- Kali, Parrot and BlackArch — toolboxes rather than desktops, and the legal line that comes before any of it
And one that is not Linux
FreeBSD, OpenBSD and NetBSD are not distributions at all — each is a complete operating system developed as a single thing, kernel and userland together, under a licence that lets anyone ship it without giving anything back. Worth reading even if you never install one, because it makes clear which parts of “how Linux works” are Linux and which are simply how your distribution chose to do it.
The two families
Most distributions descend from one of two. Learning either means most commands transfer; only the spelling changes.
| Debian family | Red Hat family | |
|---|---|---|
| Members here | Debian, Ubuntu, Mint, Pop!_OS, Zorin, elementary, Raspberry Pi OS, Kali, Parrot | Fedora and CoreOS, Rocky, AlmaLinux |
| Packages | .deb, with apt | .rpm, with dnf |
| Firewall | Usually ufw | Usually firewalld |
| Admin group | sudo | wheel |
| Web server user | www-data | nginx or apache |
| Mandatory access control | AppArmor | SELinux |
Several pages here sit outside both families. Arch is its own lineage with pacman, and its derivatives inherit that. Gentoo compiles from source with Portage, Void has its own XBPS, Slackware predates both families and resolves no dependencies at all, NixOS does not have packages in the usual sense, and openSUSE uses RPM packages with zypper and its own tooling. Alpine shares almost nothing with any of them — different C library, different userland, different init — and the BSDs are outside the question entirely.
If you are still undecided: install Mint or Ubuntu on the desktop and Debian on the server. Neither is a decision you will regret, and both are easy to move away from once you know what you actually want.
