3 ms·
> it still imposes a large burden on the person trying to figure out "why is X doing Y?" Systemd has tools for that, such as systemctl cat which shows all appl
by thayne 3y ago
> it still imposes a large burden on the person trying to figure out "why is X doing Y?"
Systemd has tools for that, such as systemctl cat which shows all applicable configuration and what files they come from.
Personally I have found the systemd hierarchy to be very useful. It allows me to create overrides for certain properties in a Unit without having to worry about keeping the rest in sync with upstream, or my package manager overwriting my configuration. And it allows me to have different independent packages (or chef recipes or ansible playbooks) that create different override files for the same unit without stepping on each others toes.
Yes it is a little complicated, but for most end users, you don't really need to worry about most of the complexity, you just need to know where you put your overrides. And for distributors and power users, that complexity serves a useful purpose.
- wpietri 3y ago> Systemd has tools for that, such as systemctl cat which shows all applicable configuration and what files they come from. Sure, it could be that systemd does have amazing tooling for helping users with the burdens they have created. Or, given the very mixed feelings about systemd, maybe they've tried to be user focused but not hit the mark. I don't know enough to say. But my point is that either way responses of the form "it's so easy, you just have to remember [9 paragraphs of detail users don't care about]" are part of the problem, not the solution.
- darkwater 3y ago"Make it as easy as possible, but not simpler". I think this applies perfectly here. Systemd has very complicated requirements due to its very unique position in a Linux distribution. And as a (power) end-user of it, you basically need you basically needs to touch only /etc
- danaris 3y ago> Systemd has very complicated requirements due to its very unique position in a Linux distribution. But are all those requirements actually necessary for the job it's doing? Or have its developers imposed artificial constraints through their choices in designing systemd that make it more complex than it could otherwise be?
- jen20 3y agoThe combination of distributions existing and believing they “own” parts of the system, and users needing to override settings means it is as simple as possible, and no simpler.
- TheNewsIsHere 3y agoPut more generically, I think we could add: “unless you build it all yourself, you’re going to have to work with other peoples decisions.”
- rocqua 3y agoA distribution 'owning' a directory means that the package manager is allowed to change files in there, and allowed to assume nothing major was changed from what it installed. A distribution that doesn't own any directories like this effectively can't make any changes. It's like writing a class without private fields.
- ibrahima 3y agoSystemd didn't create this problem. But it solves the issue of distributions shipping config files as part of packages and then on every package upgrade having to reconcile between the distribution's config and your modifications. Now with the drop in system you don't need to do that. I am not an expert but I think in general systemd has a lot of complexity but it's to handle existing issues in a better way. Some of the older init systems might be simpler to describe or get started but lead to more confusing situations in the long run.