In the spirit of Unix claimed thus far, I decided to explore GNU/Linux options that would provide similar capabilities as FreeBSD. Of course, FreeBSD is absolutely irreplaceable and nothing can beat the organized nature of ‘true’ Unices. Nevertheless, there are some GNU/Linux distributions spawned from the soul of Unix Prime, which probably deserve attention. Let’s see what gives!
- Arch Linux was created with Unix and the KISS (Keep It Simple Stupid) principle in mind. This is visible in the minimal nature of the base system, ports-like package management (binary packages with an optional source-only ABS tree for development) and the AUR (Arch Linux User Repository). It’s fantastic for quick, flexible setups and keeping everything on the cutting edge. The only major gripe I have is systemd and the occasional reliance on its components. True, one can install OpenRC or any other init system from the repositories or beyond (or use the OpenRC edition of Manjaro Linux). Alas, even then some systemd components have to remain for compatibility measures. In my eyes and the eyes of many, systemd is strongly against Unix principles and its merits are rather superfluous.
- Slackware is a bit of a hermit turtle in the GNU/Linux world. It has existed since time immemorial and remained much unchanged. Although Pulse Audio was introduced to mitigate some Bluetooth sound compatibility issues, Slackware still tries to adhere to its Unix-heavy principles. Oddly enough, slack does not mean that the distribution is easy to use. Quite the contrary, it’s the lead developer who was slacking and did not produce a proper package manager for Slackware Linux. More of an inside joke than an actual insult, of course.
- CRUX Linux is probably the closest one can get to a BSD equivalent in GNU/Linux land. It’s basically a BSD distribution built with GNU tools on top of the Linux kernel. We get the all-too-familiar /etc/rc.conf main configuration file, in addition to a classical ports tree and services handling. The downside is that CRUX Linux does not involve absolutely any hand-holding in terms of configuration (except for the initial repository setup + some default system configs to get the OS booting) and the selection of packages is extremely scarce in comparison to the likes of other GNU/Linux distribution.
- Gentoo Linux is like CRUX Linux on steroids. Instead of a BSD-style init system we have OpenRC with its own set of services and controls. Knowing and maintaining all of the various GNU/Linux init systems is tricky business, especially that most far exceed the simplicity of the traditional Unix design. Gentoo Linux is primarily source-based and much like in the case of Slackware and CRUX Linux, almost everything has to be build locally. This reduces bandwidth, though increases PC usage dramatically. Feel the hard drive succumbing under the constant read-write onslaught! Unlike its source-ish cousins, Gentoo offers additional customization means in the form of USE flags. The majority of software packages can be produced just the way we want them (dbus support? systemd support? pulseaudio support?).
As GNU/Linux is only Unix-like, it has traded some of the clean design merits for user-friendly blink. This is good for the end-user, though a nightmare for the more-inclined, who now have to learn how each GNU/Linux distribution handles things. As Canonical and Red Hat have topped the ecosystem, using anything besides xUbuntu or CentOS/RHEL is down to personal preference and more personal struggle. On the other side of Planet FOSS, the BSD crowd keeps pushing sane and useful software forward. To each their own, I guess.
I will probably give Gentoo Linux and a revamped Arch Linux with OpenRC a try. I am a geeky masochist after all and scrolling waterfalls of C/C++ code turn me on.