Some of the great GNU/Linux distributions

Posted on 2020-02-09. Last updated on 2020-03-02.
In my previous article titled "Why you should migrate everything from Linux to BSD" I stated that "BSD is where the sane people are". As mentioned in the article I didn't mean that literally, but I was considering some of the messed up stuff that's going on in Linux with systemd and the kernel. 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. Let's take a look at some of these great Linux distributions.

Table of contents

Void Linux

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. 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).

Void Linux has up to date compilers and a wide selection of language toolkits, and as Alpine Linux it also uses the musl C library.

The Void Linux project is described as a controlled anarchy.

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.

All pull request are reviewed by a group of developers 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 Up to date information about Void's internal operations and how the project works both on a technical and human level is available on InfraDocs.

Void Linux:

Alpine Linux

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:

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.

Devuan GNU/Linux

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 latest 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.

A little while after Devuan was released I migrated several of my Debian based systems to Devuan and didn't find any reason to turn back.

With the current release of Devuan 2.1 ASCII I have tested OpenRC on Devuan and the system works really well.

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 with it.

Devuan has become what Debian used to be, one of the greatest GNU/Linux distributions.

Artix Linux

If you love everything about Arch Linux, but hate everything about systemd, then Artix Linux might be the right GNU/Linux distribution for you.

Artix Linux supports (as of writting) 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 knows and understands the Unix philosophy well and they try to incorporate it into the design and structure of the distribution.

I have tested Artix Linux with both OpenRC and runit and both systems ran great. Besides from the lack of systemd components you cannot notice any difference between Artix Linux and Arch Linux.

Artix Linux is still a young distribution and while it is lacking maintainers and helpers, it has the potential to become a great independent distribution matching that of 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.

MX Linux

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/Xubuntu/Kubuntu etc., MX Linux provides a great solution.

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.

Gentoo

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, Gentoo isn't for everybody 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.

Final comments

There exist a lot of other Linux distributions without systemd, however I haven't have time to look at all those.

In the end I will almost always prefer FreeBSD or OpenBSD to any Linux distribution due to the amazing and simple design of these two systems, and due to the fragmented nature of GNU/Linux as an operating system, and because I don't want to be surprised by a kernel that suddenly breaks ZFS or implements some miserable DRM feature, but when I do occasionally go the GNU/Linux way, Debian GNU/Linux has been replaced with Devuan GNU/Linux and Arch Linux with Artix Linux or Obarun Linux. My favorite Linux distribution is Void Linux.

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!

If you have any comments or corrections please feel free to email them to me. Also, if you found this content useful consider supporting me on Patreon