systemd
siehe auch englische Version der Seite
Argumente gegen Systemd
ideologische
- systemd ist monolitisch- widerstrebt der Unix-Philosophie („do one thing and do it well“) * Kontrollsucht
 
- gewollte Dominanz gegenüber anderen Projekten, also wieder eigene Formate, obskures Verhalten etc.- tötet andere Projekte durch Bindung von Entwicklerressourcen
 
- Poettering ist ein arrogantes Arschloch- Kay als Positivbeispiel
- komisches Kleinkindverhalten bei Bugs, die ihn nicht interessieren
 
- PID-1/0 sollte so sparsam wie möglich, stabil wie möglich, und änderungsarm wie möglich sein. Alles darüber kann ein Daemon machen
praktische / sachliche
- DNS- Google war default DNS in systemd-networkd
 
- NTP- Die wollten nicht, das systemd den allgemeinen NTP benutzt, sondern einen eigenen sub-ntp anlegt(for free, also ohne probleme, nur ein "Ja" entfernt und es läuft), und Poettering wollte das partout einfach nicht
 
- Abwärtskompatibilität
- mangelnde Kompatibilität mit anderen Tools
- udev
- Format der Logs- binär. Checksumme kaputt → Datei kaputt.- Lösung: zusätzlich in syslog loggen
 
- Logging in Syslog heißt doppelte Logs- Lösung: Journal ausschalten
 
- nicht mit Text-Tools durchsuchbar, journald wird benötigt
- Checksummen gingen auch mit Textdateien
 
- sehr viele Codezeilen- schlechtere Wartbarkeit
- schlechtere Verständlichkeit
- der Code, um Bash-Scripts mit systemd zu starten, ist größer als sysvinit
 
- einzelne Komponenten von systemd (journald, networkd) funktionieren nicht ohne systemd-init
- Komplexität
- Größe
- Abhängigkeiten der einzelnen Komponenten untereinander- systemd mit PID1 hängt nicht nur von PID0 sondern auch von PID2 und PID>2 ab
 
- die unersetzbarkeit des einen Modules durch das andere, weil alle untereinander derart Abhängig sind, das jede Änderung durch alle abhängigen Module getragen wird und werden muss
- Höherer Bedarf an Systemressourcen
- INI-Dateien als Frankenprogrammiersprache (Alternative: openRC)- man muss mehr tippen, wenn man sehr viele Services oder Timer anlegt muss man sich eventuell ein Grundgerüst kopieren
 
Argumente für systemd
- es ist in C geschrieben und u.a. daher recht schnell und effizient in dem, was es tut
- es kann mehrere Services gleichzeitig starten (nicht wie bei sysv)
- man kann tatsächliche Abhängigkeiten definieren (die nicht wie bei sysv in Shellscripts überprüft werden)
- die meisten Distributionen nutzen es (Debian, Ubuntu, CentOS, Fedora, Arch Linux)
- es funktioniert