p.enthalabs

Resources against systemd and alternatives

What is systemd?

systemd claims to be a good and modern replacement for SysVinit — a so called init daemon. Usually the init daemon is the first process spawned by the kernel and thus has the PID #1 and is responsible for spawning other daemons which are necessary for the OS to operate, e.g. networking, cron, syslog etc.

List of init daemons*:

- systemd

- SysVinit (home)

- OpenRC (home)

- runit (home)

- s6 (home)

- Shepherd (home)

- finit (home)

- Hummingbird (repo)

- superd (repo)

- 31init (repo)

- Dinit (repo)

- procd (repo)

- uselessd (repo; inactive)

- Upstart (home; inactive)

- InitNG (repo; inactive)

- cinit (home; inactive)

- minit (home; inactive)

- Epoch (home; inactive)

- dmaster (repo)

*_inactive_: No development activity has occurred for several years.

What is so bad about systemd?

Notable bugs and security issues:

- Datadog outage costing 5 million dollars caused by systemd upgrade

- [Widespread outage was caused on Azure, when systemd 237-3ubuntu10.54 was published to the bionic-security pocket (instances could no longer resolve DNS queries, breaking networking)](https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1988119)

- #437: timeX.google.com provide non standard time

- [#1143: PID1 getting stuck printing "systemd[1]: Time has been changed" continuously](https://github.com/systemd/systemd/issues/1143)

- #1312: restarting systemd service on dependency failure

- #1596: journalctl -r -n flags incorrectly processed

- #2402: Mount efivarfs read-only

- #2460: Showing status of service via systemctl is slow (>10s) if disk journal is used

- #4863: systemd-journald drops all bytes after '\0'

- #5644: tmpfiles: R! /dir/.* destroys root

- #6237: systemd can't handle the process privilege that belongs to user name starts with number, such as 0day

- #6369: hostnamed does not like fqdns with trailing dots

- #6381: systemd-cryptsetup: Booting with encrypted root partition fails instantly

- #6478: `systemctl` should not consider active->failed as a successful operation

- #6620: services writing to stdout become silent after journal restart

- #7184: resolved: fix loop on packets with pseudo dns types (CVE-2017-15908)

- #8579: systemd breaks my mouse

- Out-of-Bounds write in systemd-networkd dhcpv6 option handling (CVE-2018-15688)

- #6078: Applying systemd-networkd configuration disconnects all other interfaces

- System Down: A systemd-journald exploit (CVE-2018-16864, CVE-2018-16865, and CVE-2018-16866)

- #11810: Can't suspend again after suspending one time (explanation why this is bad)

- Systemd user manager interferes with ecryptfs - private directory not being unmounted (also umount of ecryptfs does not automatically clear the keyring and ecryptfs-utils: Private directory not automatically unmounted anymore on logout)

- [#2913: journald is unable to attribute messages incoming from processes that exited to their cgroup, due to /proc vs SCM_CREDS race](https://github.com/systemd/systemd/issues/2913)

Other issues arising around systemd:

- systemd will be able to kill a process if he needs/wants more RAM

- We need to enforce the use of systemd to everyone, by the creator of systemd itself.

- systemd kills background processes after user logs out (see also: [[RFE] add a way to run in a new systemd scope automatically](https://github.com/tmux/tmux/issues/428))

- Don't panic, but Linux's Systemd can be pwned via an evil DNS query

- Systemd Could Fallback to Google DNS?

- DNS search domain not removed from resolv.conf on disconnect

- systemd does not respect system wide resource limits

How do I get rid of systemd?

Replace systemd with an alternative init system:

- Ubuntu Wiki: Permanent switch back to upstart

- Debian Wiki: Changing the init system

Linux distributions without systemd:

Alternatively you can use Linux distributions which do not use systemd by default:

- ![Image 1: Alpine Linux logo](https://www.alpinelinux.org/)

- ![Image 2: antiX Linux logo](https://antixlinux.com/)

- ![Image 3: Artix Linux logo](https://artixlinux.org/)

- ![Image 4: Chimera Linux logo](https://chimera-linux.org/)

- ![Image 5: CRUX Linux logo](https://crux.nu/)

- ![Image 6: Devuan logo](https://devuan.org/)

- ![Image 7: Elive Linux logo](https://www.elivecd.org/)

- ![Image 8: Dragora GNU/Linux logo](https://dragora.org/)

- ![Image 9: Funtoo Linux logo](https://www.funtoo.org/)

- ![Image 10: Gentoo Linux logo](https://gentoo.org/)

- ![Image 11: glaucus Linux logo](https://glaucuslinux.org/)

- ![Image 12: GNU Guix logo](https://guix.gnu.org/)

- ![Image 13: GoboLinux logo](https://www.gobolinux.org/)

- ![Image 14: Hyperbola GNU/Linux logo](https://hyperbola.info/)

- ![Image 15: KISS Linux logo](https://kisslinux.github.io/)

- ![Image 16: LiGurOS logo](https://liguros.gitlab.io/)

- ![Image 17: Loc-OS logo](https://loc-os.com/)

- ![Image 18: MX Linux logo](https://mxlinux.org/)

- ![Image 19: Nitrux logo](https://nxos.org/)

- ![Image 20: NuTyX Linux logo](https://nutyx.org/)

- ![Image 21: Obarun Linux logo](https://web.obarun.org/)

- ![Image 22: OpenWrt logo](https://www.openwrt.org/)

- ![Image 23: Parabola GNU/Linux logo](https://parabola.nu/)

- ![Image 24: PCLinuxOS logo](https://www.pclinuxos.com/)

- ![Image 25: Peppermint OS logo](https://peppermintos.com/)

- ![Image 26: PuffOS logo](https://puffos.github.io/)

- ![Image 27: Slackware Linux logo](https://www.slackware.com/)

- ![Image 28: SliTaz GNU/Linux logo](https://slitaz.org/)

- ![Image 29: SulinOS logo](https://sulinos.github.io/)

- ![Image 30: Tiny Core Linux logo](http://www.tinycorelinux.net/)

- ![Image 31: Venom Linux logo](https://venomlinux.org/)

- ![Image 32: Void Linux logo](https://voidlinux.org/)

A good summary about most of the beforementioned distributions can be found here.

BSD alternatives:

You can also consider changing to BSD derivatives:

- ![Image 33: DragonFly BSD logo](https://www.dragonflybsd.org/)

- ![Image 34: FreeBSD logo](https://www.freebsd.org/)

- ![Image 35: GhostBSD logo](https://www.ghostbsd.org/)

- ![Image 36: MidnightBSD logo](https://www.midnightbsd.org/)

- ![Image 37: NetBSD logo](https://www.netbsd.org/)

- ![Image 38: OpenBSD logo](https://www.openbsd.org/)

Useful links

- The world after systemd

- I Hate Systemd

- Search for distributions without systemd on DistroWatch.com

- suckless.org on systemd

- Broken by design: systemd

- systemd-free linux community

- Twitter Account @systemdsucks