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?
Speaking as someone who uses OpenRC on all my machines . . . no, systemd is not necessarily slow, and personally I don't care about the speed of my init system anyway. Thing is, systemd also has nothing that makes it more useful to me than OpenRC, so I have no incentive to change. Plus, I dislike the philosophy behind it, the bloat, and the obnoxious behaviour the project showed when interacting with others in its early days. I'm a splitter, not a lumper, and systemd's attempts to absorb All The Things strike me as rather . . . Windows-like.
So, in a technical sense I have no reason to believe that systemd is inferior to OpenRC + sysv, and it may be superior for some use cases which are not mine. I don't spend a lot of time ranting about it, and I see no point in trying to convince people not to use it if it fits their needs. But I still won't use it if I have another option.
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?