Are you using Linux for ordinary daily tasks like browsing, gaming, and coding? Then SystemD is perfect for such systems. No need to use distros that sell the lack of SystemD as their main selling point—it’s more trouble than it’s worth. Avoid SystemD haters like the plague.
Do you use Linux for enterprise servers? Then SystemD is just one of the options for you, go try all of them out to see what’s best for such workflow.
Having sniffed around the Linux community for years, I feel like whatever flaws SystemD has as a computer program are of tertiary importance when faced with the thing that really matters:
- The developer of SystemD was mildly rude to some community members that one time. That means he is two hitlers and a stalin wearing a trenchcoat and everything he makes must be utter garbage.
Yeah they seem to think he “took over” the Linux init process all by himself. Like distro maintainers aren’t the ones who made the decision to move to systemd based on technical merits (presumably).
I think people like that view Linux as some kind of fiefdom rather than a community of individuals.
It is on technical merits as you don’t see maintainers complaining about systemd, only users who just don’t like it for number of randomly picked reasons.
I interacted with him briefly in a forum but didn’t realize who he was until later. He had that a bit of that programmer awkwardness going, but also having such a vocal abd sustained backlash against a major project you’ve been working on for years has to affect the poor dude pretty heavily.
ya see, when i ssh into a server and i run some commands, sometimes i mess up, see, and i wanna reboot to get the system back to a known state, right
and even if the system is in an unknown or invalid state, right,
i don’t wanna wait half a bloody hour for systemd to get tired of waiting for 1m30s countdowns and actually bounce the damn machine, if it bounces at all
and i can’t just hold the power button, see, because i’m 2000 miles away from the bloody box
(I did not make that number up, by the way. I once has a hard drive get hot removed while it was mounted, couldn’t umount it so I had to reboot, and it confused systemd so bad it took 27 minutes to shut down)
EDIT: aw come on, are you really gonna downvote without leaving a reply?
how is this any diffrent from SysV scripts hanging and preventing a reboot that way…
you are blaming SystemD for an issue not part of SystemD, but a generic computing issue…
and yes, you can still just hard reboot your system with SystemD as @elscallr@lemmy.world has point out…
I want init 6 back! It’s a reflex to type that.
It’s a giant mess of interconnected programs that could theoretically still be disentangled, but in practice never are. It was very quickly and exclusively adopted by pretty much every major distro in a short period of time, functionally killing off any alternatives despite a lot of people objecting. Also, its creator was already pretty divisive even before systemd, and the way systemd was adopted kinda turned that into a creepy hate cult targeted at him.
There’s nothing actually wrong with systemd. I personally wish there was still more support for the alternatives though. Systemd does way more than I need it to, and I just enjoy having a computer that only does what I want.
If there were better options then they would have been adopted.
I didn’t say there were better options. I didn’t say it shouldn’t have been adopted. I said it has some drawbacks, wasn’t rolled out very well, and I miss having other options even if they aren’t as generally useful for everyone, and it is inevitable that some people would complain because of that. That isn’t a problem. It’s okay to complain sometimes. We all do it.
For a desktop it’s suitable for 99% of what you’d want to do. Might not be the best tool for large servers or something (I really don’t know) but I’m sure all that depends on use case.
Linux power-users hate it when a tool tries to become a platform.
It breaks the principle of single responsibility and becomes a threat to the evolution of alternatives.
It’s pros and cons. Having a platform is better because everyone works together on a single effort. But it also becomes a risk because now everyone depends on a single thing that does too much.
I can’t agree with this comment more.
A lot of Unix philosophy, at least in the early days, was KISS. Keep it simple stupid.
Lots of interlocking components, doing one thing, doing it well.
Systemd turns that philosophy on its head.
It’s a pretty bridge, they’d say, but be careful you don’t look at the supports. It was built using bad techniques, bad procedures, no coordination and no inspection.
Just cross your fingers as you drive over and hope it doesn’t blow up because of its flawed construction.
I find it’s a great way to cross the river, today.
In a quiet village, two monks stood on the bank of a wide river. The older monk asked the younger, “How do you cross this river?”
The younger monk pointed at the grand bridge a short distance away, “Through that bridge, master.”
The older monk shook his head, "You see a bridge, yet the river flows beneath. In seeking to cross, you are already on the other side. Tell me, where is the true bridge?
At that moment, the young monk became enlightened, supposedly, because that’s how most zen koans end.
i will never grow tired repeating this: systemd is the best thing that happened to linux in the 10s
Yeah I agree. It was rolled out pretty early in its development maturity so it undoubtedly left a bad taste in some people’s mouths. Overall it’s a net positive though. I don’t want to go back to the old way.
There are other ways than systemd and initrc
If you really want the short version:
Systemd was half baked literally when it came out and figuratively as an idea, so much so that there’s already a replacement for it in the works.
A longer version:
Systemd replaced the init script style of boot and process management, which had been in place for decades. init scripts were so simple they could be understood just by looking at the name: the computer is Initialized by Scripts. Systemd was much more complex and allowed many more tools to interact with the different parts of the computer, but people had to learn these tools. Previously all a person had to understand to deal with the computer was how to edit a text file and what various commands and programs did. After systemd a person has to understand how to use the dozens of invocations of systemctl and it’s variants and if they are dealing with a problem, —you know, the only reason a person would ever be dealing with initializing services— they gotta know what’s going on with the text files that systemd uses to run different commands and programs.
So a person who already understood what was going on might rightly say “hey, this systemd thing is just the same shit with different file locations and more to learn”.
People complain about the creator and maintainer of systemd, lennart poettering . Poettering is also the person behind pulseaudio, an powerful but complex audio management daemon in Linux whose name you only recognize because it’s caused you no end of trouble. Pulseaudio was also replaced relatively quickly by pipewire.
The argument could be made (and probably has) that poetterings work is indicative of the problems with foss developers working as employees of major companies with their job responsibilities inclusive of their foss projects. The developer in that situation has an incentive to make big sweeping changes, they’re being paid for it after all, instead of being more careful and measured.
When every big foss maintainer is trying to find a way to justify being paid for it, their projects are never done.
At least poettering is working for Microsoft, ruining windows now…
E: oh my god I forgot about the binary log files! So before (and now), the universal format for log files was plain text. You know, because it’s a log that’s text. Systemd uses binary log files that need a special tool to open and parse. So if you want to look through them on a computer without that tool you’re kinda screwed. Now systemd isn’t the only software package with binary log files, but many people have made the very persuasive argument that it’s not a trait to copy.
E2: actually spelled the man’s name right. Thanks @floofloof@lemmy.ca !
Init scripts were simple? Man you haven’t seen a bunch of shitty init scripts then.
Oh man you reminded me of bad init scripts that would prevent you from getting to multi-user login. I hope you remembered your root password so you can get into single user mode!
Simple doesn’t mean well done. Badly written code can be simple but still bad
Pulseaudio was also replaced relatively quickly by pipewire. lets check that, shall we:
PipeWire: Initial release 20 June 2017; 6 years ago source: https://en.wikipedia.org/wiki/PipeWire
PulseAudio: Initial release 17 July 2004; 19 years ago source: https://en.wikipedia.org/wiki/PulseAudio
so “relatively quickly” is a time span of 13 years in your idea… or the difference between 2004 and 2017.
if that’s your level of detail… your whole “rant” is worthless…
But lets be generous and look into it,
init scripts were so simple they could be understood just by looking at the name
this is blatantly false, for the old system you need to know about runlevels, what they mean, how the half backed init annotations work, and its dependency check works.
### BEGIN INIT INFO # Provides: myrec # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: your description here ### END INIT INFO
you needed special tools to watch if an application actually was running and not crashed, and to keep it running.
add to that that the difference between systemd.service file and a sysv / init / initd script is more or less the same complexity (just different standards).
the universal format for log files was plain text false, the universal format for logging was plain text…
which is currently (slowly) getting replaced with structured logging. (which is objectively better, imho). there are a number of different log formats, most use a binary (compressed) format. logging to plain text was generally only used for the most recent log entries. a binary format for logging, as long as there’s is tooling to get it to a (structured) textual output, is better than a pure text log. I mean, if its good enough for MySQL / MariaDB it ought to be good enough for you…
lineart pottering
Ty I’ve spelled his name probably every wrong way in the past.
pulseaudio, an powerful but complex audio management daemon in Linux whose name you only recognize because it’s caused you no end of trouble. Pulseaudio was also replaced relatively quickly by pipewire.
PulseAudio never gave me trouble but I guess I’m just lucky or some shit. Also PipeWire took forever to come out.
gayHitler420 taught me something today. thank you for this informative comment
What is the systemd replacement you mention?
There’s both runit and system6.
and openrc too, i tried it once in artix
Pros: Really useful AIO program that does everything Cons: Really useful AIO program that does everything
Great example:
Systemd makes it very easy to bring up DNS with systemd-resolved, and it bridges a gap from the old resolv.conf file and newer DNS standards n stuff.
But then it also means that any alternative DNS clients have to tell resolvd to go away if they want to run, or often times make a systemd service to autostart with systemd and ensure it works perfectly with every possible systemd setup.
There’s nothing inherently wrong with this method of having a centralized AIO thing that handles a a lot of stuff for you, but lots of early Linux people preferred the hardcore KISS principle and found it very beneficial to have everything neatly separated and modular with the service manager’s job to only start and stop services.
Overall, systemd has been remarkably (and relatively) stable and beneficial which people thought would be impossible back when it became initially popular.
I don’t have anything against systemd that is until I tried void linux for the first time. The working of runit seemed very simple and efficient compared to the complexity of systemd.
I still don’t hate systemd, but I just wish it was simpler.
Roughly speaking, it is because it does not follow the Unix philosophy and proposes to do several tasks making the code very complex and therefore more susceptible to bugs.
Don’t the Linux kernel or the GNU core utils violate unix philosophy too? Philosophical ideas become outdated, there aren’t many presocratics around.
The linux kernel unfortunately does not follow unix philosophy.
It would be better in various ways if the linux kernel used a micro kernel architecture following the unix philosophy, something Torwalds acknowledged in the past.
Philosophical ideas being lost does not mean they’re outdated.
How old in the past did Linus acknowledge it? my source says he dislikes/disliked microkernel, it dates to 2001 ,if you have a more recent source proving that he no longer thinks it I’ll look at it
Unfortunately I can’t remember the timestamp, but it’s right around when he starts speaking about when the MINIX creator bashed him, IIRC (not to bash on you, but this implies the point you’re making, that Linux shouldn’t have a monolithic kernel is 30 years old,)
As far as i have heard it is because it doesn’t adhere to unix philosophy and trie to be more than an init system.
I don’t really care as long as it doesn’t try to spy and/or force features/settings onto me
I just find it too difficult to use. Id rather learn five well connected simple tools than one massive tool that accomplishes the same thing anyways.
I don’t get the hate as well. It’s great for running services and system administration.