Hacker News
points by crote 2 days ago | 0 comments
But that's not quite the the right comparison, is it?

Systemd doesn't just replace 1000 lines of Sysvinit. Those "millions of lines" also replace the thousands of hundred-line poorly-vetted Bash scripts you need, plus your syslog daemon, plus dozens of "fork, setuid, chroot" variants, plus your cron daemon. And that's before we get into things not directly related to service management, like logind, hostnamed, networkd, resolved, timesyncd, tmpfiles, udevd, and so on.

Systemd is an umbrella project. Look at each individual component in isolation, and the vast majority of the time the thing it replaces is significantly more complex and fragile. Systemd was adopted by most of the Linux ecosystem because it was a significant improvement over the status quo, there is no need to invent conspiracy theories here.

[–] dv_dt 2 days ago
But is the actual architecture of systemd giving simple, securable, reviewable boundaries? This is a codebase that runs in stages of inherent privelege and very low levels in many linux systems.
[–] preg_match 1 day ago
Yes, systemd is not one piece of software, it’s a collection of software, like GNU. The components aren’t just modules or something, they’re actually different programs altogether.

When people say systemd they really mean systemd-init, which is one piece of software. Not systemd-resolved, which is another.

[–] cowlevel 1 day ago
The number of binaries installed on the system has little to do with how the software is developed - how many pieces of software is LibreOffice?
[–] preg_match 1 day ago
What matters is if they’re separate programs or not. They’re separate programs. Systemd is, like, 25 different pieces of software. It’s not 25 objects that are dynamically loaded or something. No, it’s 25 different pieces of software.

Most distributions only use some of them, and the “some” set is different from distro to distro. Many distros swap parts out. And some distros only use systemd-resolved.

Systemd is, legitimately, well divided. Most of the complaints against systemd are from people who know basically nothing about systemd.

[–] cowlevel 1 day ago
Why does it matter that it's 25 binaries on disk? Surely the logical structure matters way more than the filesystem structure. Is Windows 3000 pieces of software because there are 3000 executables in system32?
[–] preg_match 1 day ago
It matters if they're separate programs or not, and they are. You can pick and choose, and distros do. Systemd is not a monolith, it just isn't.
[–] cowlevel 1 day ago
Is Windows 3000 pieces of software?

How many pieces of software is nginx or Apache, where every feature is an optional plugin?

[–] gf000 22 hours ago
Well, does the way spreadsheet cells are handled has any relevance to presentations? If not, then they don't increase each other's complexity budget.

systemd-init has nothing to do with network resolution.

[–] cowlevel 21 hours ago
Except it does, because it signals systemd-resolved whenever a network interface service comes up or goes down. And where do those come from? They're created automatically by systemd-init's tight coupling with the network subsystem, which it shouldn't have.

systemd-journald is a nicer example though.

[–] gf000 1 day ago
Well, my only gripe with it is that it's C. Otherwise it's very modular.