Oversimplified: It’s the service that handles starting and stopping of other services, including starting them in the right order after boot. Many people hate it because of astrology and supersticion. Allegedly it’s “bloated”. But still it has become the standard on many (most?) distros, effectively replacing init.
I like init. It’s simple. I like systemd as well. It’s convenient. Beyond that i don’t have very strong feelings on the matter.
I think the arguments against the “bloat” are not towards systemd as an init system, but rather are because systemd does so many things other than being an init system. I also don’t mind systemd, but I absolutely hate systemd-resolved. I do not want my init system to proxy DNS queries by setting my resolv.conf to 127.0.0.53.
Just write systemd- and press tab, that’s “the bloat”. I’m not saying that the systemd devs should not develop any new tools, but why put them all inside one software package? systemd-homed is cool, but useless for 99% of users. Same with enrolling FIDO2 tokens in a LUKS2 volume with systemd-cryptenroll. Far from useless or “bad”, but still bloat for an init system.
Now that you mention it, I find systemd messing with my DNS settings incredibly annoying as well, so I can’t help but agree on that point. At this production system at work, when troubleshooting, I often need to alter DNS between local, local (in chroot), some other server in the same cluster, and a public one. This is done across several service restarts and the occasional reboot. Not being able to trust that resolv.conf remains as I left it is frustrating.
On the newest version of our production image, systemd-resolvd is disabled.
Oversimplified: It’s the service that handles starting and stopping of other services, including starting them in the right order after boot. Many people hate it because of astrology and supersticion. Allegedly it’s “bloated”. But still it has become the standard on many (most?) distros, effectively replacing init.
I like init. It’s simple. I like systemd as well. It’s convenient. Beyond that i don’t have very strong feelings on the matter.
Also, see important answer by topinambour-rex.
I think the arguments against the “bloat” are not towards systemd as an init system, but rather are because systemd does so many things other than being an init system. I also don’t mind systemd, but I absolutely hate
systemd-resolved
. I do not want my init system to proxy DNS queries by setting my resolv.conf to 127.0.0.53. Just writesystemd-
and press tab, that’s “the bloat”. I’m not saying that the systemd devs should not develop any new tools, but why put them all inside one software package?systemd-homed
is cool, but useless for 99% of users. Same with enrolling FIDO2 tokens in a LUKS2 volume withsystemd-cryptenroll
. Far from useless or “bad”, but still bloat for an init system.Now that you mention it, I find systemd messing with my DNS settings incredibly annoying as well, so I can’t help but agree on that point. At this production system at work, when troubleshooting, I often need to alter DNS between local, local (in chroot), some other server in the same cluster, and a public one. This is done across several service restarts and the occasional reboot. Not being able to trust that resolv.conf remains as I left it is frustrating.
On the newest version of our production image, systemd-resolvd is disabled.