systemd: The Coup Against Unix
In the beginning, Unix had a philosophy: do one thing well.
Small programs. Text streams. Composability. Each tool focused, auditable, replaceable.
Then Lennart Poettering arrived.
The Coup:
In 2010, Poettering announced systemd — a replacement for the traditional SysV init system. The stated goal: faster boot times, better dependency management, modern service supervision.
The actual result: PID 1 absorbed the operating system.
| Before systemd | After systemd |
|---|---|
| init starts services | systemd starts services |
| syslog handles logs | journald handles logs (binary) |
| cron handles timers | systemd-timerd handles timers |
| dhclient handles DHCP | systemd-networkd handles DHCP |
| resolv.conf handles DNS | systemd-resolved handles DNS |
| udev handles devices | systemd-udevd handles devices |
| separate concerns | one binary to rule them all |
PID 1 — the first process, the ancestor of all processes — traditionally did one thing: start services.
Now PID 1 manages your network, resolves your DNS, writes your logs in binary format, schedules your tasks, mounts your filesystems, manages your containers, handles your logins, and controls your device permissions.
This is not an init system. This is an operating system inside your operating system.
The Unix Philosophy, Violated:
flowchart LR
subgraph UNIX["Unix Philosophy"]
U1["init"]
U2["syslog"]
U3["cron"]
U4["dhclient"]
U5["udev"]
end
subgraph SYSTEMD["systemd Philosophy"]
S1["PID 1<br/>THE MONOLITH"]
end
U1 --> S1
U2 --> S1
U3 --> S1
U4 --> S1
U5 --> S1
style U1 fill:#334155,stroke:#94a3b8
style U2 fill:#334155,stroke:#94a3b8
style U3 fill:#334155,stroke:#94a3b8
style U4 fill:#334155,stroke:#94a3b8
style U5 fill:#334155,stroke:#94a3b8
style S1 fill:#7f1d1d,stroke:#dc2626,stroke-width:3px
The text log format survived 40 years of Unix history. Human readable. Grep-able. Parseable by any tool in any language.
journald replaced it with binary logs. To read your own logs, you must use journalctl. You must trust the binary format. You must hope corruption does not destroy everything.
When a text log corrupts, you lose some lines. When a binary journal corrupts, you may lose everything.
The Dependencies:
Try to remove systemd from a modern Linux distribution.
$ apt remove systemd
The following packages will be REMOVED:
systemd gnome-shell ubuntu-desktop network-manager
pulseaudio gdm3 cups [... 847 more packages]
This operation will remove your entire desktop.
Do you wish to continue? [y/N]
This is not dependency management. This is hostage-taking.
Poettering’s software is now so deeply embedded that removing it removes the operating system. This was not an accident. This was strategy.
The Adoption:
| Distribution | systemd Status |
|---|---|
| Red Hat/Fedora | Created it. Mandatory. |
| Debian | Adopted 2014 after civil war |
| Ubuntu | Follows Debian |
| Arch | Adopted early |
| Gentoo | Optional (OpenRC alternative) |
| Slackware | Refused |
| Devuan | Debian fork, specifically to escape systemd |
| Alpine | Uses OpenRC. Clean. |
| All BSDs | Refused. Forever. |
Debian’s adoption vote in 2014 nearly split the project. Developers resigned. Forks were created. The community fractured.
Poettering’s response to criticism: mass blocking on social media. Bug reports closed as “not a bug.” Architectural concerns dismissed as “haters.”
This is not open source collaboration. This is dictatorship with a GitHub account.
Why Red Hat Pushed It:
Red Hat employs Poettering. Red Hat controls Fedora. Red Hat was acquired by IBM for $34 billion.
IBM sells enterprise support contracts. Complex systems require more support. systemd is complex.
Cui bono? Who benefits?
When your init system requires a team of specialists to debug, you purchase support contracts. When text logs become binary journals, you need commercial tools to analyze them.
systemd did not emerge from community need. It emerged from corporate strategy.
What systemd Absorbs Next:
The project continues expanding:
systemd-homed: User home directory managementsystemd-oomd: Out-of-memory killersystemd-boot: Bootloadersystemd-cryptenroll: Disk encryption managementsystemd-sysext: System extensionssystemd-measure: TPM measurements
At this rate, systemd will eventually replace the kernel. Lennart will not stop until PID 1 is the only process and Linux is merely a driver for systemd.
The BSD Refuge:
FreeBSD has rc.d — shell scripts, text configuration, Unix philosophy preserved.
OpenBSD has rc — even simpler, even cleaner.
NetBSD has rc.d — portable across all supported architectures.
None of them have systemd. None of them will adopt systemd.
# FreeBSD service management
service nginx start
service nginx stop
sysrc nginx_enable="YES"
# OpenBSD service management
rcctl start nginx
rcctl enable nginx
# Human readable. Text based. No binary journals.
When Linux distributions debated systemd adoption, the BSDs watched from across the river. They saw the fire. They did not cross.
The Devuan Resistance:
In 2014, a group of Debian developers refused the coup. They forked Debian and removed systemd entirely. They called it Devuan.
Devuan proves systemd is not necessary. Every package that “requires” systemd was patched to work without it. The hostages were freed.
Devuan still ships. Devuan still updates. Devuan demonstrates that the “dependencies” were artificial lock-in, not technical necessity.
The Lesson:
Poettering built a monolith and called it “modern.” Distributions adopted it and called it “progress.” Critics were blocked and called “toxic.”
But the BSDs refused. Slackware refused. Alpine refused. Devuan forked and refused.
You have a choice:
-
Accept systemd — Join the monolith. Learn journalctl. Trust the binary logs. Hope PID 1 does not crash and take everything with it.
-
Use BSD — rc scripts. Text logs. Unix philosophy. Programs that do one thing well.
-
Use Devuan/Alpine — Linux without the coup. Proof that escape is possible.
I run FreeBSD. My init is shell scripts. My logs are text files. My PID 1 starts services and nothing else.
Poettering cannot reach me here.
The Final Irony:
Lennart Poettering now works on improving boot security and system integrity.
The man who made PID 1 into a monolithic attack surface now concerns himself with security.
This is like an arsonist becoming a fire safety inspector.
The BSDs remain standing. The BSDs remain simple. The BSDs remain Unix.
Come home to BSD. We have text logs.
— Kim Jong Rails, Supreme Leader of the Republic of Derails