SystemD is blamed for long boot times and being heavy and bloated on resources. I tried OpenRC and Runit on real hardware (Ryzen 5000-series laptop) for week each and saw only 1 second faster boot time.
I’m old enough to remember plymouth.service (graphical image) being the most slowest service on boot in Ubuntu 16.04 and 18.04. But I don’t see that as an issue anymore. I don’t have a graphical systemD boot on my Arch but I installed Fedora Sericea and it actually boots faster than my Arch despite the plymouth (or whatever they call it nowadays).
My 2 questions:
- Is the current SystemD rant derived from years ago (while they’ve improved a lot)?
- Should Linux community rant about bigger problems such as Wayland related things not ready for current needs of normies?
I agree. SystemD is a great service daemon (or, sigh, unit daemon in the stupid parlance). I like unit file syntax and I like the ergonomics of systemctl
. It’s solid and I appreciate the feeling of consistency that systemd lends to the otherwise chaotic landscape of Linux distrobutions.
It’s for this reason that I’m willing to forgive SystemD overstepping the boundaries of services somewhat. System init/mounting? Sure, that’s a blurry line after all. Logging? Okay – it does make sense to provide a single reliable solution if the alternative is dealing with dozens of different implementations. Network resolution & session management? Fine, I’ll begrudgingly accept that it’s convenient to be able to treat logins/networking as psuedo-services for the sake of dependencies.
If that’s as far as the scope crept, SystemD and I would be cool, but the so-called “component” list just keeps on going. SystemD has no business being a boot manager, nor a credential manager, nor a user manager, nor a container manager, nor an NTP client. I understand why they can’t deprecate most of this junk, but why can’t they just at least make this cruft optional to install?
Systemd (PID1) is not your boot manager, network deamon, resolver, user manager or ntp service.
Those are entirely independent deamons that happen to be developed under the systemd project umbrella but can be exchanged for equivalent components.
Tkey are gully optional.
In many cases, the systemd project’s one is one of the best choices though, especially when used with other systemd-developed components.
In some cases, there is no other viable choice because the systemd-* is just better and nobody wants to deal with something worse.