Okay, so I just spent a huge amount of time reading correspondence from Poettering(systemd dev) to the debian team about a single tiny little script in systemd.
Why is systemd a thing? Their scripts make things endlessly complex. Little scripts double in size. Tiny C modules triple in size, just to account for the complexity of systemd.
What ever happened to the Unix Philosophy?
@poetgrant systemd exists because what came before it was even more terrible in many ways, despite the propaganda, consolekit was unmaintained, each package had their own spaghetti shell script instead of a uniform service file etc.
systemd's far from perfect, but looking at sysvinit with rose tinted glasses doesn't help either.
@MatejLach I think far from perfect is an understatement. The conflicts it has with kernel default by design just drive me completely nuts.
Interesting, am on Arch, which was pretty much the first distro to adopt systemd, so it's possible it's been integrated better, but I have no problems with systemd.
I did in fact had many problems with sysvinit, where the disorganized patchwork of individual scripts with slightly different capabilities for each made these problems hard and time consuming to debug.
I don't know what 'conflicts with kernel defaults' is supposed to mean, but I don't suffer from them.
I also operate several servers with systemd without issues.
Am slightly bothered by people who when they see a problem automatically seem to blame it on systemd itself, rather than perhaps their config, distro defaults, the flags it is compiled with in the repos etc. Seems a bit like working backward from a conclusion.
As for "the Unix philosophy" argument, I don't buy it. Some of it was due to technical limitations of the hardware in the 70s.
C is also technically the UNIX philosophy, yet there were many safer, better designed languages even at the time and now especially. Just because something has been around a long time doesn't mean it is the best. That's a surprisingly conservative stance when it comes to technology. Rust, Pony etc. are showing that low level systems programming could do a lot better than C, why not apply the same to the rest of the ecosystem?
I won't pretend that I understand the conflicts, I just know that there were a lot of init errors (fortunately I don't restart that machine much) they caused issues with my local web server's symlinks. Eventually I figured out how to disable the systemd defaults and revert to the kernel defaults. But in the end it lead me to a mass of systemd bug reports and the arrogance of the systemd devs to tell the debian devs to just suck it up and accept it.
This one is the one where they were being arrogant. My issue was handled via a friend of mine. But this link is similar, though dealing with a separate use case.
@MatejLach @tramtrist I'll be honest. My first assumption was that I has configured something wrong. Systemd never even was a consideration of mine until it was pointed out to me as an issue. I usually run Slackware, so I never have issues like this... like... never ever. But I have been too lazy to switch my big PC to Slackware, so I still have issues on that machine.
I don't see the 'arrogant' part in the issue you linked, can you quote?
I mean he explained things in detail pretty well. I also don't agree that because something is a kernel default, it shouldn't be changed, the kernel's default scheduler for example is fairly unsuitable for modern desktops.
The kernel has to default to something that would work across all the possible hardware it can run on, which is never as good as being targeted towards a specific scenario.
I also see a problem with the attitude people have of expecting things to work the same way, so they don't have to rewrite their scripts or whatever. That's not a reasonable expectation to have.
Maybe systemd's fault is to listen to the container guys, but then the container people would probably say that containers are very common in the industry now, it's a difficult balancing act for sure. But it's hardly as simple as 'systemd sucks'
@MatejLach @poetgrant @tramtrist I only know what I know. In slackware and debian I never ran into the issues mentioned. I only knew that I couldn't debug things easily in systemd whereas I could always parse the scripts included in slackware with no difficulty... That's what I know I know, what I know I don't know, and what I don't know what I don't know
See, for me it is exactly the other way around. I happen to value the 'I know this, so the other thing is bad' even less. But that's perhaps why anecdotes are not very valuable.
I objectively know that systemd now maintains components that were previosly unmaintained, I also have data on it booting faster.
I'd also say that Slackware is an EXTREMELY conservative distro, they had/still have? kde 4 in the repos, so I'd expect the userbase to be of a similar mindset.
So perhaps systemd requires some adjustment, rather than mapping sysvinit knowledge directly to it.
When it comes down to it, there's non systemd Debian derivatives too, there's Gentoo and Void, plenty of options if you really can't stomach systemd.
I just want to get the sentiment across that hatred for systemd is far from universal, unlike what seems implied by many of its detractors. I also don't see other init systems maintaining consolekit or supplementing logind...
@tramtrist Which is very similar BTW to people crapping all over PulseAudio and yet offering no alternative with similar feature set.
@MatejLach @tramtrist honestly really I have no problem with systemd. I just cant figure it out myself. My 2 comments are not at all related to systemds viability. Obviously it works. And I used it with no issue in debian. I left debian because I didn't feel comfortable I knew what my system was doing all the time. Systemd works for a lot of people. For us pedantic control freaks... Not so much
Interesting, but I'd disagree with systemd not being transparent about what's happening. Am on Arch instead of something like Debian precisely because am a control freak that wants to know exactly what's going on.
#systemd is very transparent, it just does it differently than sysvinit, but journald is extremely flexible, it just requires getting used to its possible options.
https://wiki.archlinux.org/index.php/Systemd is a pretty amazing resource tbh into the design philosophy of systemd.
@poetgrant Have you tried Devuan?
@hund I think I am going to bite the bullet and just install Slackware on my main rig. I love it on my laptop, but I have been too damn lazy to put it on my desktop which has multiple SSDs and a huge HDD. I haven't figured LiLo out enough to discriminate Hard drives yet. But I think it's time.
@poetgrant How about Gentoo? You get all the benefits with a fraction of the work.
@hund no slacker love from your camp?? 😃😃😃😃
@poetgrant I do! It's on my list of favourites, even though I would never use it myself. :) But you felt a bit reluctant of installing and maintaining it. :P
@hund true... but the good thing is... once it is on my system right I will only ever have to change anything once every 5-10 years... I am getting to be an old man in spirit and I just want things to work... Slackware is the only thing I have ever used that was truly like that.
Fosstodon is a Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.