4 ms·
There is a lot of comments in the Devuan thread [1] and they will be here too, but we mostly skip over the actual problem systemd creates: very important parts
by gkya 11y ago
There is a lot of comments in the Devuan thread [1] and they will be here too, but we mostly skip over the actual problem systemd creates: very important parts of the Linux ecosystem becoming tightly coupled as to form a huge blob of programs where one either uses all or none. For one, I use Unix [2] as a productivity tool, not as a server, so I interact with init stuff very rarely. Thus I want a system that's easy to configure and debug. Systemd is the exact opposite of that, so I don't want to use it. But if I don't want to use it, now I have to find an alternative to or modify all the stuff that depends on it. If it was only an init script that I had to replace, that's okay, but there are tighter coupling between unrelated components and systemd. I've read that Gnome people consider having it as a dependency. Udev is so tightly coupled that Gentoo had to make a fork. But it should be enough to write a new startup script for switching to another init system, not fork the entire program I want to use. This is the problem with systemd.
[1] https://news.ycombinator.com/item?id=11601288 https://news.ycombinator.com/item?id=11601288
[2] Arch Linux for long, nowadays FreeBSD
- chris_wot 11y agoAnd yet, it's not actually that hard to configure or debug. How is fiddling with symlinks and scripts easier than changing unit files?
- gkya 11y agoLet me decide it. If I don't want to use it, I should be able to swap it out. I shouldn't have to patch Gnome, udev, and whatnot to not use systemd. I don't have problems with systemd, what I feat is essential parts of GNU and Linux infrastructure becoming directly dependent on it, at the actual software level.
- chris_wot 11y agoHave you considered using Knoppix? Or now Devuan? Because you don't have to use systemd...
- gkya 11y agoHeck. I have to mount my USB sticks. I have to run some Gnome apps. What part of that you don't understand? I don't want to have to load my drivers manually just because I don't want to use systemd. Udev is the thing that probes devices at boot time, isn't it? I don't want to fork Emacs, on which my life depends, because dbus becomes a hard dependency, which becomes coupled to systemd. Are you paid to not understand? At the end of the day, I've left GNU/Linux behind anyways, I'm not talking for myself but for the community.
- chris_wot 11y agoWhy would you need to do that? A change to the init system isn't going to break that. Are you actually using a system that has switched back to SysV scripts?!?
- wila 11y agoAvoiding the systemd thing here too, bsd for the win. Plenty has been said about it and some will never understand what is wrong with it.
- gkya 11y agoWould you mind downvoting this chris_wot's comments on this thread? I can't because they're replies to me. He's basically spamming, asking for info given in the toplevel post. IDK if such request complies with HN Guidelines but I can't be bothered to collect whatever amount of karma needed to flag/downvote a spammer, sorry. Edit: I can't down vote him because the blinking arrow does not appear on replies to me (I have 990 karma, maybe not enough) or else I'd do it myself.
- chris_wot 11y agoDo what you will in terms of voting. I don't enjoy being downvoted, and sometimes I even get upset by it, but there are many views on votes and people must use their best judgement so I respect it if they feel it is a fair judgement. I appear to have upset you, and I recognise that I may have been too forceful on this subject. In my defence, I've had some very informative but uncompromising arguments on this matter with vezzny-ford and I have come out far more informed and enlightened as a result. I assumed this was the case here also - I've tried to stick to the technology itself, and don't have any ill will towards you as a person but I can understand if my manner may have given that impression. So I do apologise for anything I have said or done to make you upset with me. In terms of the substance of your comment, you said that you would need to patch udev if you swap out systemd with System V init - but this isn't the case. In a previous comment on another article, you said Gentoo patched udev which seems to have been the basis for your claim. If that's not the case, then I have probably not understood your reasoning. However, if this is the basis for your assumption then I think it's worthwhile pointing out that Gentoo say they forked udev "to avoid glibc-specific functions and gcc-specific constructs by sticking to C99 while tracking closely the systemd-udev development". [1] 1. https://wiki.gentoo.org/wiki/Project:Eudev https://wiki.gentoo.org/wiki/Project:Eudev
- bkor 11y agoIt's way easier to depend on some functionality provided within the systemd project. Various bits do NOT require systemd to be the init system. The conflict here is pretty easy: * People not wanting to avoid anything from systemd project * Maintainers simplifying their project by relying on an API The API they're relying on is not init system specific, but because it is provided by the systemd project, there's non-technical hate against the decision. Outcome: maintainers ignore those people as they're irrational.
- welterde 11y agoWith systemd you still have to fiddle with symlinks to enable/disable units (at least on the same level as other init/rc systems which have wrappers around ln). And with a sane RC system, such as OpenRC (which technically is still SysV init, but who cares about the init process.. it doesn't do much really), I would argue the scripts are on the same level of complexity as systemd unit files for most cases (so it would be fine to use either). But for more complex applications, such as mounting crypto devices or network configuration, these two do depart a fair bit. Systemd chose to not go the way of simply wrapping the cryptsetup command, but talk directly to the kernel, which would be fine or even better in theory, but has the slight drawback of reducing (as far as I could tell) all error conditions to Invalid Argument (which took me then quite a bit of effort to find out what I had done wrong). Systemd-network(d?) suffers from the same problem (doesn't use the iproute2 command, but directly speaks to the kernel) in my opinion - again it is only really useful for the most common use cases, uncommon ones become impossible (because certain iproute2 features are simply unsupported as of yet) or really difficult to debug (because you are debugging an application interpreting configuration files instead of simple shell scripts).
- chris_wot 11y agoHmmm... That's a fair point. I'm pretty certain you can replace the binaries with a script, really the value of units is to allow for parellilisation and dependency load order :-)