Some of the great GNU/Linux distributions
Published on 2020-02-09. Modified on 2021-07-20.
In my previous article titled "Why you should migrate everything from Linux to BSD" I stated that "BSD is the place to be". But this doesn't mean that there isn't any good Linux distributions left. There do exist some really good Linux distributions out there where the developers and maintainers have removed all systemd dependencies, and where people are also aware of the status of the kernel development, and Red Hats major corporate influence. Let's take a look at some of these great Linux distributions.
Table of contents
If you love everything about Arch Linux, but hate systemd, then Artix Linux is the right GNU/Linux distribution for you.
Artix Linux currently supports 3 different init systems OpenRC, runit and s6.
Artix Linux has a very active, welcoming, friendly and helpful community and they are looking for help.
The developers of Artix know and understand the Unix philosophy well and they try to incorporate it into the design and structure of the distribution.
I am running Artix Linux with runit and besides from the lack of systemd components you cannot notice any difference between Artix Linux and Arch Linux.
If you're not afraid of the command line, which you cannot be if you love Arch Linux, then you can even find a guide on the Artix Linux wiki about how to get Artix running on ZFS root.
Artix Linux is kinda what Arch Linux was before systemd.
I have previously written about Void Linux after having used it as my main operating system on my desktop computer for about 3 or 4 months as a replacement for Arch Linux.
Void Linux is a general purpose operating system and an independent Linux distribution, developed entirely by volunteers cooperating on GitHub. Void Linux is not a modification of an existing distribution.
Void's package manager xbps is the native system package manager, written from scratch with a 2-clause BSD license. It allows you to quickly install/update/remove software in your system and features detection of incompatible shared libraries and dependencies while updating or removing packages (among others). xbps is very fast!
Void Linux has a ports like system called
xbps-src is the
xbps package builder, also written from scratch with a 2-clause BSD license. It builds software in containers through the use of Linux namespaces, providing isolation of processes and bind mounts (among others). So no root is required.
xbps-src can also build natively or cross compile for the target machine, and supports multiple C libraries (glibc and musl currently).
The Void Linux project is described as a controlled anarchy, which I am no big fan of and had several bad experiences with.
This is working as intended, and we like it this way. We've decided that it's better to have flexible workflows that can adapt to new situations as they arise rather than needing to consult detailed documentation or request authorization in advance. Rather than determining processes for every action, we instead choose to trust our members to think on their feet and come up with reasonable solutions.
We still need some processes though, and we need consistency in the way that people think about problems. The processes described in this section aim to keep the organization running.
Pull requests are reviewed by different project members on GitHub. The process on how these developers became a part of the group has been documented on the website in the article The Life of a Pull Request & Where Commit Bits Come From. Information about Void's internal operations and how the project works both on a technical and human level is available on InfraDocs.
One thing to look out for are outdated and orphaned packages. On e.g. FreeBSD, when you install an orphaned package, the package manager informs you that the package is orphaned and that it might be removed in the near future. On Void Linux you need to keep watch on this yourself, and when I last checked a number of packages where orphaned and had not seen any updates for a long time. This is not a unique problem to Void Linux though, in many Linux distributions you need to manually keep track of outdated packages. However, since Void Linux is a rolling release, you might get the impression that it runs like Arch Linux, with bleeding-edge packages that get updates as fast as upstream releases them, but that would be a mistake. Void Linux is a rolling release, but it's not bleeding-edge like Arch Linux is.
From a technical perspective, Void Linux is another great Linux distribution. However, I personally do not like how the project is run and do not use Void Linux on anything any longer.
Last but not least, if you seek out Void Linux because you want a Linux distribution without systemd, you need to know that the Void Linux project is not hostile towards systemd. They used to have systemd, but removed it only because systemd doesn't support Musl.
I stumbled upon Alpine Linux back in 2014 when version 3.0 was released. I was setting up a Minecraft server for my son and a couple of his friends and decided to look for an alternative solution to FreeBSD as there where a lack of support for some of the hardware I had available.
I wanted the OS to be safer than what Debian GNU/Linux could provide and the thing that caught my attention with Alpine Linux was the fact that this great distribution was designed for security, simplicity, and efficiency.
Alpine Linux uses a hardened Linux kernel and compiles all user-space binaries as position-independent executables with stack-smashing protection.
Alpine Linux "feels" much like the BSDs because of the philosophy of simplicity that it implements. It uses the simple and lightweight, yet powerful, OpenRC as the init system and it has its own package management system called apk.
Even though Alpine Linux is designed to run from RAM it can still be installed on a physical disk and the installation procedure resembles that of OpenBSD.
Alpine Linux starts the process by booting an install or running medium from an external device, such as a CD/DVD, USB Drive, etc. Once booted Alpine Linux supports three different modes:
- diskless mode: In this mode you'll boot from the install or running medium in read-only and Alpine Linux runs in RAM.
- data mode: This is identical to "diskless mode", with the exception that a writable partition, usually on a harddisk, is used to store the data in
/vardirectly, rather than copied into a
- sys mode: A traditional hard-disk installation. When the "sys mode" is selected, the post installation steps provides the way to choose the root password, and eventually boot up the new installed system.
One of the things that I noticed right away was that Alpine Linux required less resources to run than a typical GNU/Linux distribution. We were running our headless Minecraft server on an old HP thin client with an Intel Atom processor where we had to physically cut the plastic casing in order to get a hard drive installed and working. Eventually I had to upgrade the hardware as the requirements for Minecraft modding grew :), but we ran a really nice Minecraft Cauldron server with support for both mods and plugins, and the box kept chugging along for quite some time without any problems with about 5-7 users online at the same time. This wouldn't have been possible without Alpine Linux.
As both a programmer and system administrator I really like Alpine Linux and I have been using it since then for different tasks. Alpine Linux isn't only suitable for servers or smaller devices, but can run equally well as a desktop solution.
With the release and adoption of systemd by Red Hat, and the political maneuvering to get systemd integrated into the main GNU/Linux distributions, a great controversial arose in the Debian community in late 2014 which eventually resulted in a group of people, calling themselves "Veteran Unix Admins", announced their plans to release a systemd-free fork of Debian GNU/Linux. The result was Devuan GNU/Linux.
The purpose of the Devuan project was to "protect the freedom of its community of users and developers" by removing systemd from Debian. Furthermore the project intended to improve the existing Debian build infrastructure, reusing what worked well and removing some of the things that they considered unnecessary bloat.
Since the fork Devuan has gained a lot of attention and the project has managed to reach their goals with the release of Devuan 2.1 ASCII.
Because of the controversial nature of systemd the Devuan project has committed themselves to Init Freedom.
Init Freedom is about restoring a sane approach to
PID1, one that respects diversity and freedom of choice.
Devuan with OpenRC is like the good old Debian, but with a great new init system that doesn't drag a long list of controversial feature bloat and security concerns with it, such as systemd does.
Devuan has become the Debian that Debian used to be.
Personally I prefer distributions that only installs a very basic system, or at least gives you the option to do so, and then you have to put the system together yourself. However, many people prefer something pre-build for the desktop and as a really good alternative to something like Ubuntu or Linux Mint is MX Linux.
MX Linux is a desktop-oriented Linux distribution based on Debian's "stable" branch, but without systemd. It is a cooperative venture between the antiX and former MEPIS Linux communities. Because MX Linux is using Xfce as its desktop it is not only very fast, but it is also customized to look really nice.
In my tests of MX Linux the system was stable and it performed very well. It had really good hardware recognition with automatic configuration suitable for most desktop users. The MX Tools gets regular updates as do third party applications. MX Linux also comes with a build-in user manual that is also available online.
MX Linux is famous for providing great support on their very friendly forum.
I would recommend MX Linux to anyone who is looking for an alternative solution to something like Ubuntu, Fedora, or OpenSUSE.
Because Gentoo has the ability to support systemd as an option, instead of it being the single available init system implementation, I'll mention Gentoo here too.
Gentoo has provided the Open Source community with many great tools, such as eudev and OpenRC. OpenRC was created by the NetBSD developer who started the Gentoo/FreeBSD project.
Gentoo is a unique GNU/Linux distribution. Because of the Portage system, which is similar to the ports system on FreeBSD, OpenBSD and NetBSD, Gentoo has near-unlimited adaptability, which is why it is also called "a metadistribution". Gentoo has about 250 active developers and many thousands of users, many which are very knowledgeable in their fields.
Gentoo has great documentation, a solid infrastructure, great release engineering, good software portability, quality assurance, security, hardening, and more.
Gentoo also has a solid project foundation in which a 7-member council is elected on a yearly basis. The council decides on global issues, policies, and advancements in the Gentoo project.
However, it is worth noting that Gentoo isn't for anyone as it isn't a binary software distribution. The source code is compiled locally according to the user's preferences and is often optimized for the specific type of computer, which can be quite time consuming. But Gentoo do provide precompiled binaries for some of the larger packages.
In the past I have used Gentoo for some very specific use cases and the distribution has never failed me.
There are several other independent Linux distributions without systemd.
You will find that from a day-to-day user experience point of view, once you have everything set up as you like, there is little difference and most of these operating systems will solve your problems equally well. This is because we actually rarely deal with the operating system itself, we mostly deal with applications. Whether you use mpv to watch a movie on Linux or BSD makes no difference as long as you get great hardware support, the movie will play fine on both. The same goes for all other normal usages.
The most important part about using either BSD or Linux is that you get freedom and open software. You need to get rid of any proprietary spyware crap and any Linux distribution that advertises proprietary software, such as Ubuntu, should be avoided. Another important matter is that you get updates to your software in a timely manner.
One of the major advantages of using BSD or Linux is the ability to fully understand and control what's going on on your computer and how to optimize it. If you use a Microsoft Windows-like distribution, such as Ubuntu or Linux Mint, a distribution that holds your hands with everything, you wont understand anything about your system, and if some part of it fails, then you haven't got a clue on how to solve the problem. A typical sign of this is if you do a re-install when something fails. Seriously? This is not Microsoft Windows, you don't need to re-install anything unless you have managed to wipe the hard drive.
In any case, I do not recommend Ubuntu or other Ubuntu derived distributions. They generally make the Linux experience miserable because they try to be everything at once, but without doing anything particularly well. The result is a bad user experience.
Last but not least, no matter what open source operating system you use, please remember to contribute to the project either by donating or helping out in some other way, if you can!