Why I like Void Linux.

Ah, Void Linux. It’s a mysterious distribution. It’s sorta hard but sorta not to get it running, but boy once it’s running it’ll run like a brick (Sturdy and stable). I run it on everything from my lappy to the server that runs this website, and I update it bi-weekly. It uses runit as it’s init system instead of systemd, and tries to adhere to the UNIX philosophy, because the less code in PID 1 the better (Less to go wrong), and the way void implements it is just pure bliss. It’s a distro that’s like arch, in the way of it expects you to know what you’re doing and doesn’t get in your way. The only downsides of it are that a: It’s still (mostly) on kde 4 and b: There are some packages lacking. That’s mostly due to a lack of people to package things. It also tries to stick with upstream software sources when possible, not only that but they split packages into -dev, -doc, etc subpackages which leads to less bloat on things you’ll never use like the qt IDE if you don’t dev for qt. Another one of the things that I like about void is how open the development is, you can see all the PR’s and issues on their public package template repo on github. It’s also very easy to contribute as it’s basically PKGBUILD’s from arch but more abstract, they also have no AUR so it’s either 3rd party binary repos or the offical one, which in the end leads to easier maintenance and better quality packages. I have to say my experince with void has been a great one so far, and I look foward to staying with the distro and contributing to it.

The reasons why I hate systemd.

If you’re one of the people who blindly defends systemd, then please leave.
Now with that being said, let’s get on to the topic.

TL;DR: Systemd has gotten out of control with it’s size and needs to be stopped.

The main problem

Systemd in this context is defined by the developers as “a suite of basic building blocks for a Linux system.” ~ [1], that’s not the problem though. The main problem is the list of stuff systemd either implements or has taken over (Ex. Gummiboot), Here is the list: “login, pam, getty, syslog, udev, cryptsetup, cron, at, dbus, acpi, cgroups, gnome-session, autofs, tcpwrappers, audit, chroot, mount.” ~ [2].

That’s not the way it should be, systemd should be only a init system, leaving stuff like mount and login to other projects. Because when a program does too many things, then the amount of bugs in said program skyrockets. That’s bad when it’s running as PID 1 or has a API to PID 1 (A.la the systemd API though D-Bus).

I get that SysVinit needed to be replaced, even I agree with that. but systemd is not what we should replace it with, we should use something like OpenRC or runit. You know, something that doesn’t manage the entire lower-level userland. That’s one of the reasons I use Void Linux, is to get away from systemd.

The blind defenders

The thing that annoys me the most besides systemd, is the people who blindly defend it. I had someone on IRC (freenode though telegram) yesterday tell me that all systemd “haters” don’t know anything, and they don’t have any reasons to hate it. I have plenty of reasons to hate it, like it being a giant project, taking over everything, and being so unstable to the point that it randomly freezes my server then trips it’s watchdog.

Bug reports

https://github.com/systemd/systemd/issues/437
https://bugs.freedesktop.org/show_bug.cgi?id=64116
https://github.com/systemd/systemd/issues/5644
https://github.com/systemd/systemd/issues/2402
https://github.com/systemd/systemd/issues/2402
https://bugs.freedesktop.org/show_bug.cgi?id=76935#c10

These bug reports are the developer(s) not fixing things they need to fix and being in general jerks. You see if you didn’t implement the entire low-level user land you wouldn’t have these problems, but their attitude in general is the problem here.

“pulling in a filtering engine into journald, especially a regex-based one, together with the associated configuration provisions, sounds like a design wart.” ~ https://github.com/systemd/systemd/issues/2447
Systemd (I say systemd as it’s the catch all term.) is already a design wart, just look at all of the stuff it has in one project. And rsyslog already has one.

The sides of the debate

I generaly see two sides of this debate:

The proponents, that have these traits:

  • They like stuff like snaps/flatpak, and the kits (ConsoleKit, PolKit, PackageKit, etc)
  • They run a desktop environment like gnome (*shudders*) or kde
  • They run a mainstream distro like Ubuntu or (*shudders again*) Fedora
  • They value flashy GUI’s, and automation
  • And finally they dislike ‘ol school modular programs because of “fragmentation”.

And the opponents, that have these traits:

  • They like stuff like suckless, terminals, etc.
  • They run a desktop environment like xfce
  • They use a niche distro like Void or the *toos (Gentoo, Funtoo, etc)
  • They value minimlism and modularity.
  • They have a lot of pet projects (I’m guilty of this)
  • They also favor the UNIX philosophy.

I’m (obviously) in the opponent ring, I run Void Linux with xfce and a few pet projects, use slock and zzz to lock the screen and suspend, I make simple programs that are seperate, and depending on the project conforming to POSIX.

Conclusion

The pro-systemd and anti-systemd people will never get along.
Systemd has become way bigger then it should have, it should’ve stuck with being only an init system, and leaving the other stuff to other projects.
Hopefully we can beat the fight against systemd, and not have it take over.

Extra Info

[1] – http://without-systemd.org/wiki/index.php/Arguments_against_systemd
[2] – http://uselessd.darknedgy.net/ProSystemdAntiSystemd/
[3] – http://wizardofbits.tumblr.com/post/45232318557/systemd-more-like-shit-stemd
[4] – http://without-systemd.org/wiki/index.php/Local_copy_of_boycottsystemd.org_archive
[5] – http://skarnet.org/software/s6/systemd.html

Quotes

[1] – https://www.freedesktop.org/wiki/Software/systemd/
[2] – http://systemd-free.org/

No more google analytics!

We’ve made big changes to the site over the past few days, the main one being that we’ve gotten rid of google analytics. Now we use a self-hosted piwik instance for analytics, it also respects your Do Not Track settings. If you still feel paranoid you can put a block on “analytics.jordynsblog.tk”. The second and last change is that we’ve got our own IRC network now, It’s called IRC.Tk. It’s a short and simple IRC network, with minimum rules and being run like a democracy. Now that’s all, have a great day! 🙂