In reference to: https://lemmy.world/post/23862757
I use Void btw
Image text:
Most people rejected his message.
“Systemd is Satan’s creation! Pure Evil!”
They hated Talking Pig because He told them the truth.
In reference to: https://lemmy.world/post/23862757
I use Void btw
Image text:
Most people rejected his message.
“Systemd is Satan’s creation! Pure Evil!”
They hated Talking Pig because He told them the truth.
I don’t really get the hate for systemd. At least for someone who started really using Linux after it was introduced, it always seemed easier to control and manage than the init.d stuff.
Obviously it’s a hassle to migrate if you have a ton of legacy services, but it’s pretty nice.
It’s because you now need to do
systemctl restart sshd
instead of/etc/init.d/sshd restart
, I see no other reason than having to learn new syntax.Arguably, init.d scripts were easier to understand, and systemd is a bit of a black box, it somehow works, but who knows where it writes logs or saves the process pid (it’s all in the documentation somewhere), with init.d script you can just open the script itself and look.
I think it’s okay to not 100% know every little detail of how a system works, as long as it’s possible to find out what you need when you need it.
This post was sponsord by the Backdoor Buddies
I prefer the ini files systemd uses to bash scripts
Systemd syntax is not that hard if you read the manual. I think every hardcode Linux user hates systemd because it automatically does the thinkering for you and you can control your processes with simple commands
Yeah, the manpages for systemd are large but also informative. Most of us only use a small subset of the features—much like we never explored everything possible with separate init programs.
Having used Linux on the desktop for some two decades and worked as a Linux sysadmin for a good while I don’t miss the init scripts. My impression is more that a certain cohort wants to pretend that service management is easy by ignoring large amounts of it. It’s easy to write a bad init script that breaks when you really need it, or be out of your depth with more complex cases.
Not to mention the whole conformity by convention thing. Systemd unit files are descriptive and predictable by their nature. So-called init scripts didn’t really have to be scripts, they just usually were, and their arguments and output and behaviour was also unenforced—there’s nothing really stopping you from writing a compiled program that self-daemonizes and place the binary with the init scripts rather than in /bin. Ultimately people who make programs also have to be good at writing init programs with that setup.
So we’d have people doing dumb shit themselves and getting angry at others doing dumb shit. PHP was also pretty popular and full of dumb shit. Lots of “worse is better” to go around.
Ultimately it’s more of the stuff covered in Bryan Cantrill’s Platform as a reflection of values. Some of us value predictability and correctness, others feel it’s a straitjacket. There’s no way of pleasing everyone with the same platform.
And currently the people who want to distribute their own riced-out init programs in bash, perl, php, node.js and so on are SOL. (They can still use them on their own machines.)
The more I actually learn about systemd, the cooler it is.
For example, you can automatically mount SMB shares using systemd, with automatic remount on failures. It’s far superior to using fstab once you know how.
https://anteru.net/blog/2019/automatic-mounts-using-systemd/
Don’t minimize those strengths. Init.d scripts are something you can figure out just knowing a bit of shell script, or historical knowledge from before there was an internet. For something I rarely use, why do I need to learn something more complex to do the same thing - I either haven’t been sold on all the new functionality they piled in or do not need it. After all these years crowing about the Unix/linux way being many independent flexible tools that can work together, why do we now have this all-in-one monstrosity that might as well have come directly from Microsoft?
I have the following complaints about systemd:
The first two aren’t actually issues with systemd, but rather are political issues I have around the way Red Hat bullies the rest of the Linux ecosystem. I’m not going to let that become a stopping point for my using what is actually a fairly good piece of tech. The third is actually an ongoing issue, but it’s not enough for me to try throwing the baby out with the bathwater. It is, however, IMO a continuation of Red Hat’s sketchy political play.
What kind of dirty politics are we talking about here? I remember when Arch switched, the stated reasons from the devs was that their old init system was bad and nobody wanted to maintain it, for example.
There were several cases of shenanigans from other Red Hat controlled projects yanking upstart configs and sysvinit scripts from their projects and replacing them exclusively with systemd units even though those configs had active maintainers (often people who worked at Canonical or Google). This made packaging those supposedly community owned but de facto Red Hat controlled projects more difficult for any system that didn’t use systemd, since the packagers had to scramble to find or recreate those files and then maintain patch series for them. They also very quickly jumped on adding systemd-specific integrations where similar integrations to make the services work better with upstart had been rejected because services weren’t supposed to favour an init system.
Something not necessarily (or provably) from Red Hat - a whole lot of misinformation about upstart suddenly started appearing on mailing lists and message boards when Debian was considering whether to use upstart or systemd. While I think they made the right decision to go with systemd, that sudden influx of new accounts complaining about upstart likely influenced the decision in ways I’m really not comfortable with.
I don’t dislike systemd. I’m happy to use it and think it works quite well for many (though definitely not all) of the things it does. But I am concerned about how it’s yet another case of Red Hat having a large amount of control over the Linux ecosystem and Red Hat controlled projects and the supporters of Red Hat projects using dirty tricks to further that control. And with systemd consuming more and more of how a Linux system works, I am concerned about the influence that gives Red Hat. Are we going to see
systemd-packaged
that manages your packages, but somehow the patches to make it work with non-RPM packages keep getting rejected or just held up for years at a time? (We’ve already seen similar things with xdg portals, where portals Red Hat wants get approved and merged very quickly, but portals proposed by Canonical or SuSE spend years “in review” with more and more petty changes requested, sometimes to be rejected because a Red Hat backed portal that only implements part of the functionality suddenly appeared and was approved within a week or two.)