Someone please convince me why I should hate systemd because I still don't understand why all the hate exists.
The idea as far as I can tell is that it's responsible for too many things and gives a massive point of failure.
Man, wait until these people hear about the filesystem and kernel.
The very existence of a defined kernel is an insult to the Linux philosophy
In some ways I think the filesystem is philosophically the exact opposite of systemd
I can boot my system with an ext4 root, with a btrfs /home...or vice versa. Or add some ZFS, or whatever. The filesystem is (with the exception of some special backup schemes) largely independent of the rest of the system, despite being of core importance.
On the other hand, I can't change my init system (i.e., systemd) without serious, serious work.
It's also "infectious" software. The way systemd positions itself on the system, it can make it more difficult for software to be written in an agnostic way. This isn't all software, and is often more of a complaint by lower level software, like desktop environments.
https://catfox.life/2024/01/05/systemd-through-the-eyes-of-a-musl-distribution-maintainer/
This isn't a terrible summary of some of the aspects of it.
Another aspect is that when it was first developed, the lead on the project was exceptionally hostile to anyone who didn't immediately agree that systemd definitely should take over most of the system, often criticizing people who pointed out bugs or questionable design decisions as being afraid of change or relics of the past.
It's more of a social reason, but if people feel like the developer of a tool they're forced to use doesn't even respect their concerns, they're going to start rejecting the tool.
What do you expect from an init system? It's like saying my cpu is infectious because my computer depends on it
It's that it also decided to take over log management, event management, networking, DNS resolution, etc, etc.
If it were just an init system that would be perfectly portable. People were able to write software that way with sysv for years.
It's that in order to do certain low level tasks on a systemd system, you need to integrate with systemd, not just "be started by it". Now if a distro wants that piece of software, it needs to use systemd, and other pieces of software that want to be on that distro need to implement integration with systemd.
A dependency isn't infectious, but a dependency you can't easily swap out is, particularly if it's positioned near the base of a dependency tree.
Almost all of my software can run on x86 or arm without any issues beyond changing compiler targets. It's closer to how it's tricky to port software between Mac and Linux, or Linux and BSD. Targeting one platform entails significant, potentially prohibitive, effort to support another, despite them all being ostensibly compatible unix like systems.
My understanding is that some people are die hards to the software philosophy of "do one thing really well". systemd at the very least does many different things. These people would prefer to chain a bunch of smaller programs together to replicate the same functionality of systemd since every program in the chain fits the philosophy of "does one thing really well".
For me it’s 3 things
- Do one thing and do it well
- Everything is a file in Linux
- human readable logs
Systemd breaks all three of though by being monolithic and binary. It actually makes you have to jump through more hoops to do things in certain cases. I understand it’s a mindset shift but it really starts making it feel more like Windows with how it works and the registry and event log.
People don’t like it because it’s declarative. It felt cool to be able to just put bash files into certain directories to have them executed on startup. That was elegant, in the sense of “everything’s a file”.
systemd is more of an api than a framework, so it’s a different design paradigm.
I hated systemd until I printed out the docs, for some coffee, and sat in a comfy chair to read them front to back. Then I loved it.
Mostly I hated it because I didn’t know how to do things with it.
Also, “journalctl” is kind of an ugly command. But really, who gives a fuck. It’s a well-designed system.
And if a person absolutely must execute their own arbitrary code they can just declare a command to execute their script file as the startup operation on a unit.
Your comment summarizes my entire programming career.
These steps:
-
Be taught that there's a specific way to do something because the other ways have major issues
-
Find something that goes against that specific way and hate it
-
After a lot of familiarity, end up understanding it
-
Have a mix emotion of both loving it because it functions so well and hating it because it doesn't align with the rules you've set up
It's different from what the init system was like in the 80's.
"I am a new linux user. After 15 minutes of research on google, I found a few forum posts and some niche websites that said SystemD was bad, so I took it as gospel. Now my system doesn't work as simply as it did with installer defaults? How do I make everything Just Work™ after removing any OS components I don't understand the need for?"
I mean you essentially just highlighted a primary user experience problem with Linux....
Information & advice is fragmented, spread around, highly opinionated, poorly digestible, out of date, and often dangerous.
And then the other part of it is that a large part the Linux community will shit on you for not knowing what you don't know because of some weird cultural elitism...
When you finally ask for help once you realize you don't know what you're doing, you're usually met with derisive comments and criticism instead of help.
Do you want Linux to be customizable so that users can control it however they want. Or do you want it to be safe so that users don't mess it up? You can't have it both ways, and when you tell users to "go figure it out" and then :suprise_pikachu: that they found the wrong information because they have literally no idea what's good or bad, instead of helping, they get shit on.
It's the biggest thing holding Linux desktop back.
Debian, Arch, Fedora, Mint, Ubuntu, Redhat, Manjaro all have docs and wiki on their primary websites. Slackware has docs, Gentoo has a wiki. Anything that's not on a distro's site needs to be carefully considered before tampering. Almost all of those distros have a warning in their installation instructions to only listen to the information in their docs and wiki, and to a lesser extent their forums. Hell, even nosystemd.org tells you what systemd is, what it's for, what replacements there are, and the proper way to get rid of it in bold text under the header "How do I get rid of systemd?"
Listening to hackneyed advice from unvetted sources just because they have strong opinions is a problem that any and every computer will face. That's not a problem with linux anymore than the hoardes of trolls on random social media sites telling you to "delete System32" is a problem with Windows.
I want Linux to be customizable AND safe. But safe in the way that someone takes the time to learn how what they plan to do will effect their system, not safe in the sense of "impossible to bork"
As for elitism: if it's "elitist" to indirectly poke fun of someone who deleted a core system component without understanding what it does without a backup, then so be it. It feels more like that word is levied by people whose ego is too big to take respobsibility for the mistakes they made, and instead blame others for laughing when it bites them in the ass.
Idk where these swaths of elitists that refuse to help are. OOP went to stackexchange and likely got a helpful answer complete with explanations, as that is the community standard. Over on !linux@lemmy.ml , I see people offering help with problems all the time without shitting on them. If I go to the aforementioned OS forums, or really any software-specific forums, I see people helping or pointing people to where they can get help.
And I'm not denying that assholes who say shit like "did you even bother googling?" exist. They're nasty people with no patience, but they're by no means the community standard unless they're the only ones you pay attention to...
Or unless you see a screenshot of a question from a different website posted in a meme-sharing forum and expect the comments to offer advice, instead of laughing at the person who shot themselves in the foot and went to a hospital instead of seeking help at the DNC HQ
Linus tech tips, is that you?
He is less technically inclined
He read a prompt asking if he wanted to remove his system and said yes
Then complained about it
To be fair it was caused by installing steam. Why System76 didn't test that I don't know.
He uninstalled systemd, now his computer is not doing systemd things anymore by his retelling. Seems like it worked fine. Yet he asks for a solution of a problem. Maybe he needs to state the problem.
This is like the Linux equivalent of deleting system32
Nah, more like deleting explorer.exe.
There's isn't really a Windows equivalent for this, as Windows doesn't give you control on this level.
It'd be as if you could delete services.msc but also the runner behind it.
I removed and sold the wheels of my car, now it does not move.
All these files are backed up in /System32 folder
Lol this reminds me of a time when I had KDE desktop environment installed on vanilla ubuntu. I thought I didn't really need ubuntu's default desktop environment and decided to 'purge' it. I quickly realized my f up when it deleted so many packages and ui started to act weird, I copied the shell's output to a file just incase, and sure enough I couldn't login with ui on next reboot. I was somehow able to login to shell and with some awk magic I was able to parse the text file to get all the packages I deleted and lo and behold everything worked just fine. Linux let's you f'up your OS but it also let's you fix it, it's just a skill issue.
Linux let's you f'up your OS but it also let's you fix it, it's just a skill issue.
Yeah, there's something about Linux that makes me feel like if something breaks in it, the only reason I can't fix it personally is because I lack the skills to fix the problem. Just feels nice, really.
I updated my sources.list to something non-existing at some point and run sudo apt update && sudo apt dist-upgrade -y && sudo apt autoremove
once and it also basically uninstalled everything. But that didn't even matter, I popped in a recovery disk and could reinstall everything. Pretty great to be able to do all that with Linux, fuck everything up in an instant but after a few hours everything is back again
How the fuck is login and "the command line" still working? Maybe they did not reboot.
The reboot probably sent him straight to a virtual console.
Just install Devuan.
Devuan GNU+Linux is a fork of Debian without systemd that allows users to reclaim control over their system by avoiding unnecessary entanglements and ensuring Init Freedom.
Gotta love this linux rhetoric, man! It's so out there.
I don't want to be in control of starting up all the services during boot.
I want the init system to do that.
install that rm -rf theme
Run installation media and copy systemD over to the system
For real though, if you break ANYTHING in Linux, it can probably be repaired through live image on your flash drive.
linuxmemes
I use Arch btw
Sister communities:
- LemmyMemes: Memes
- LemmyShitpost: Anything and everything goes.
- RISA: Star Trek memes and shitposts
Community rules
- Follow the site-wide rules and code of conduct
- Be civil
- Post Linux-related content
- No recent reposts
Please report posts and comments that break these rules!