Comment

Comment by plaguepilled

I would say it really depends on the context!

Some reasons systemd is bad:

- Its a "big" for small docker containers (which is part of why a lot of people like Alpine Linux).

- It produces binary logs, which might not work with your workflow and is a kind of vendor lock-in if you don't script a binary-to-text script.

- the binaries are all a lot bigger in terms if SLOC and in terms of storage space than the solutions they replace. This makes auditing the code more of a chore and is a big argument against it in certain security environments.

- (my main gripe) systemd produces vendor lock-in from seemingly unrelated apps. A lot of packages which indirectly depend on a systemd functionality need to be patched to work on OpenRC Gentoo, for example.

Some arguments for systemd:

- systemd abstracts process management. This can be fantastic for scripting and security (again, context dependent)

- systemd by default kills services on log out (which is great for desktop - but can be an obstacle for servers). This is a good default behavior from a security perspective.

- systemd has some parallelization of init, making start up more predictable (because something falling over is less likely to nuke the whole procedure - again good for desktop)

- systemd provides a lot of tooling to stop you doing things the "wrong" way. For example, systemd-analyze-security provides configuration tips to harden your system

==========

In general, I would say that systemd is a very impressive tool and helped a lot of distributions standardise how they handle boot. I wish it did not impact downstream development the way it does though.

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton