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 ( 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

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.” ~
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 systemd proponents are the kind of people who like stuff like the snaps, and the *kits, run a desktop environment like gnome or kde, run a distro like Ubuntu or Fedora, value flashy GUI’s, and dislike modular programs because of “fragmentaion”.

The systemd opponents are the kind of people who like stuff like suckless, terminals, run a desktop environment like xfce, run a niche distro like Void or the *toos, value minimlism and modularity, have a lot of pet projects (I’m guilty of this), and favors 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.


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] –
[2] –
[3] –
[4] –
[5] –


[1] –
[2] –

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 “”. 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! 🙂