6 comments

[ 0.18 ms ] story [ 23.2 ms ] thread
Systemd fans are always saying that it's not monolithic but consists of many executables. So how do I replace any of them with my own, small tool? They have no stable interfaces. There are quite a few complaints about them [0] and yet nobody was able to write a replacement.

[0] https://news.ycombinator.com/item?id=42889878, https://news.ycombinator.com/item?id=42889792, https://news.ycombinator.com/item?id=42886965, https://news.ycombinator.com/item?id=42897105

See also: https://wiki.gentoo.org/wiki/Hard_dependencies_on_systemd and https://news.ycombinator.com/item?id=42918448

I think the point of systemd's modularity is mostly just to make the dev's jobs easier, being able to replace parts of it feels very out of scope even if it might vaguely kind of be a goal.

It's hard to support use cases you don't understand or have experience with, that are very different from the needs of your core audience.

> is mostly just to make the dev's jobs easier

You mean, systemd exists for its developers, not users? Indeed, there's some logic here.

> So how do I replace any of them with my own, small tool?

You write them with an equivalent public interface.

> They have no stable interfaces.

This is nonsense. All the D-Bus (and now Varlink too) interfaces are stable, documented and we do not break backward compatibility.

> yet nobody was able to write a replacement.

That's because actually doing things is hard, but complaining on social media is extremely easy.

(comment deleted)