The modern but controversial Linux init system.
"It's Too Big. It Does Too Much."
—How-To-Geek
"never finished, never complete, but tracking progress of technology"
—Lennart Poettering
An init system is what runs once the system kernel is loaded in *n?x systems, akin to the way that MS WIndows has svchost.exe. It is responsible for running system dameons (the system processes and services responsible for low-level system operations). In the Linux world, for years the default system used was known as SYstem V init after the BSD system. Other init systems were in common use, notably OpenRC, upstart and runit, but the 2010 development of systemd quickly took over the space.
Initially developed by Lennart Poettering and Kay Sievers, at Red Hat, the system was designed to be both faster and more efficient. By May of 2011, it was mature enough to be included in Fedora Linux by default, followed the following year by Arch Linux. Slwly, other distributions followed suit, as both Debian Linux and Ubuntu Linux adopted it as the standard. Nowadays one is hard put to find a distro that doesn't default to this for init services.
Over time, Poettering introduced other bits of what was fast becoming an entire software platform; this has led to much controversy amongst the Linux community, with criticisms ranging from feature creep through violating the Unix philosophy to ad hominem attacks on Poettering and his character. While I understand and sympathise with some of these criticisms, I subscribe to more of a pragmatic view, that despite accusations of feature creep and software bloat, systemd for the most part Just Works, and is moderately easy to understand and use. I don't subscribe to the holy wars being waged against it; in my view it offers more than oher systems and it's not the hill I want to die on.
Other than the actual init system itself, the suit includes many other components, some of which are daemons run by systemd itself: systemctl, journalctl, logind, timedatectl, hostnamectl, networkd, resolved, units, targets, tmpfiles.d, journald, initrd, user units, systemd-analyze and homed.
Non-systemd Distros
Some distributions have not adopted systemd for various reasons, either technological, philosophical or through plain inertia.
Devuan Linux (a Debian fork that replaces systemd with the OpenRC init system. Others include:
The controversy of systemd vs. everything else has run, and will continue to run, for many years. As long as it doesn't break anything, I for one welcome our new overlord.
Iron Noder 2024#1
$ xclip -o | wc -w