What to Know
- Major distribution differentiators include architecture support, the init system, the default package manager, and the user interface.
- For new Linux users with modern hardware, Ubuntu Linux, Linux Mint, and Elementary OS are good places to start.
- For advanced Linux users with high-end hardware, Manjaro Linux and Slackware offer greater control over the operating system.
This article explains how to choose the best Linux distribution for your specific needs and use cases. Each distribution features its own under-the-hood architecture with a defined set of tools.
Distribution Differentiators
Although all Linux distributions are based on the Linux kernel, each offers a set of major differentiating criteria that specialize them:
- Architecture: The type of chips that the distribution supports, through the included kernel.
- Init Software: The underlying approach to launching and managing processes.
- Package Manager: The default package-management tool for the distribution.
- Desktop Manager: The graphical user interface for the distribution.
The popular website DistroWatch.org offers a search tool that lets you specify these and other more precise criteria to narrow the list of active distributions from hundreds to dozens or even just a few.
Architecture
Architecture matters because not all Linux distributions support every possible configuration of processors in the world. The reason you cannot run Microsoft Windows on an Android tablet, for example, is because Windows only supports Intel- or AMD-based desktop processors or ARM-based processors on mobile
📑 Note
It is technically possible, though not easy, run Windows on an Android tablet that has an x86, x86_64 or ARM processor.
Linux supports a wide variety of architectures. If you run a standard desktop computer or a laptop, you'll likely find nearly every distribution works well on your machine. However, if you're retrofitting Linux on a very old computer, the processor matters much more. A distribution that only offers 64-bit processor support, for example, will not work on a 32-bit processor.
The most common architectures you'll need to consider include:
- x86 (or i586/i686): A 32-bit Intel- and AMD-compatible chipset
- x86_64: A 64-bit Intel- and AMD-compatible chipset
- ARM: A mobile-optimized chipset common in tablets and smartphones
- PowerPC: The "old" chipset for Apple's hardware
💡 Tips:
- Your distribution must be compatible with your chipset, but there's no "better or worse" distro based on chipset alone. It's an all-or-nothing compatibility question.
Init Software
Strictly speaking, init software is the very first process that launches when the Linux-based computer boots. It's a daemon that runs for the entire duration of the system's uptime; it's the parent process of every subsequent process that launches on the machine.
The choice of init software is controversial in the sense that different power users argue for-and-against SysV versus systemd. The choice isn't trivial; this software governs how the system manages processes.
- SysV: A "traditional" init system with roots in Unix SystemV. It's considered stable, but arguably less-featured than systemd.
- systemd: A more modern, highly integrated init system.
💡 Tip:
Other forms of init software also dot the market, but SysV and systemd are the heavy hitters. Your choice of init software is largely irrelevant unless you're a power user who favors one over the other. Most modern distributions have come to rely on systemd, so SysV and alternative inits are increasingly harder to find.
Package Manager
All Linux software ships in the form of a package. Different package managers manage the archiving and management of these packages. Most packages are not interchangeable, although utilities like alien convert among some package types.
Different distributions rely on specific package managers.
- dpkg: Manages Debian-specific (.DEB) packages—common in Debian-based distribuition including Ubuntu and Linux Mint—through tools like APT.
- RPM Package Manager: Installs/manages Redhat Package Manager (.RPM) packages. Uses tools like DNF, yum and zypper.
- flatpak: A sandboxed/containered format that's cross-platform.
- pacman: Common in Arch Linux and its derivatives.
- portage: Developed for Gentoo Linux, and now also used by ChromeOS and a few other distributions.
- snap: A Ubuntu-specific form of containerized application deployment.
💡 Tip:
Although you're free to pick the specific tool for managing packages, the package type is hard-coded into the distribution. Thus, you'll never see a Ubuntu version that uses RPM files. Different distributions maintain different repositories for available software. Some software authored by independent developers may appear in only one or two package formats. If maximizing access to open-source software matters to you, a distribution that uses DEB or RPM files is likely your best bet.
Desktop Environment
When people think about the major differences between Linux distributions, they tend to think of the desktop environment—but the irony is that most distributions support the installation of most desktop environments.
The "best" desktop environments balance configurability with the relative resource consumption of the DE itself. A brand-new computer, or a computer with high-end specs, can run any desktop environment with the smoothness of melted butter. But on lower-end or older hardware, particularly in the netbook space, the selection of DE can make-or-break the usability of the entire system.
RESOURCE USE
- The high-resource DEs commonly used include KDE and Budgie.
- A medium-weight DE runs well on standard or low-end modern hardware. Gnome 3, Cinnamon, MATE and Pantheon fall into this category.
- A lightweight DE is ideal for older hardware. Pick XFCE or LXDE.
CONFIGURABILITY
The newest DEs tend to be less configurable—they package a specific aesthetic design that doesn't allow for as much modification as the older DEs still support.
Highly configurable DEs include XFCE, LDXE, Cinnamon, MATE and KDE.
Low-configurable DEs include Deepin, Gnome 3 and Pantheon.
Use Cases
So which distribution is the best one for your needs? It depends on your use case.
If you run older hardware, a "traditional" distribution that uses SysV for init and relies on a 32-bit kernel will likely prove optimal. Pair it with a lightweight DE like XFCE. MX Linux makes a great starting place.
A machine with high-end hardware, run by an eager tinkerer and Linux buff, might work well with Manjaro Linux.
If you enjoy getting deep into the internals of your operating system, try Slackware. It's built largely by hand, through configuration files, so you have ultimate control over it—but you have to know, or be willing to learn, what you're doing.
Have modern hardware that "just works?" People new to Linux often migrate to Ubuntu Linux or Linux Mint. For an even more basic, elegant distribution, look to Elementary OS.