"I hate systemd, it's bloated and overengineered" people stay, perched precariously on their huge tower of shell scripts and cron jobs.
huge tower of shell scripts and cron jobs.
That's bloat. I start all my services manually according to my needs. Why start cupsd BEFORE I need to print anything?
thats what systemd sockets are here for
or inetd!
“I hate systemd, it’s bloated and overengineered”
And built poorly by people who don't work well with others and then payola'ed onto the world.
people stay, perched precariously on their huge tower of shell scripts and cron jobs.
Fucking UNIX is shell scripts and cron jobs, skippy. Add xinetd and you're done.
If systemd was only managing services there would be less opposition. People opposed don't want a single thing doing services and boot and user login and network management and...
Are they also opposed to coreutils being a single project with dozens of executables doing different things?
IDK, ask them. There are some in this thread. I'm addressing the strawman argument that people against it are luddites set in their ways over their beloved cron jobs.
Wait until you learn about debhelper
.
If you use a debian-based system, unless you have actively looked at the DH source, the one thing that built virtually every package on your system, you do not get to say anything about "bloat" or "KISS".
DH is a monstrous pile of perl scripts, only partially documented, with a core design that revolves around a spaghetti of complex defaults, unique syntax, and enough surprising side effects and crazy heuristics to spook even the most grizzled greybeards. The number of times I've had to look at the DH perl source to understand a (badly/un)documented behavior while packaging something is not insignificant.
But when we replaced a bazillion bash scripts with a (admittedly opinionated but also stable and well documented) daemon suddenly the greybeards acted like Debian was going to collapse under the weight of its own complexity.
The systemd debate is basically dead. There are very few against it, but many accept it by now. Just avoid phoronix forum and some other places.
Anytime I see a Phoronix article (very loosely) about systemd or Wayland I fill my insults bingo card.
What's wrong with Wayland? I get the hate for systemd, even though I love it dearly, but I get the hate. But what's wrong with Wayland? It's amazing as far as I have used it. I started using with when Fedora 40 shipped plasma 6.
I'll preface this by saying that I'm a Wayland user (Hyprland, then KDE Plasma, and I'll be giving Cosmic a fair shot), and don't see myself returning to X and having to choose between massive screen tearing and massive input lag.
Wayland is missing many features that are required for some people or some applications. There's no way for a multi-window application to tell the compositor where to place the windows, for example to have one window snap to and follow the other. Color profiles were implemented very recently. Wayland's isolation of applications, while a significant improvement to security, has made remote input software and xdotool
-like programs highly dependent on third-party interoperability solutions (specifically dbus and XDG Desktop Portal). The same isolation broke most accessibility tools like screen readers. Dockable windows, like the toolbars in QT Creator or QOwnNotes, are often difficult or impossible to dock back into the main window.
Because Wayland compositors have to implement all protocols (as opposed to deferring to the X.Org server; which is why wlroots is such a big deal) or rely on XDG Desktop Portal (which has never worked right for me), feature parity between compositors is never guaranteed, and especially problematic with GNOME dragging its heels.
Wayland is nowhere near feature parity with X11 today, and that is a legitimate prohibitive issue for many people. Wayland will never reach total feature parity with X11 in some areas, and that will always be prohibitive for some people.
But the worst (in my opinion) is the development process of the Wayland protocols. The proposal discussion threads read like the best and/or worst sitcom you've ever seen. It took them several months of back-and-forth just short of ad hominem attacks to decide how a window should set its icon. Several months for a pissing WINDOW ICON!
The systemd debate is basically dead.
But the Super Nintendo vs. Sega Genesis/Megadrive debate rages on.
Both have great games.
Mega Drive is clearly better because that's the one I had as a child.
"Just avoid places that sysadmins and security guys frequent and get your opinions on systemd from memes and people running arch on home machine". Great plan.
Systemd is absolute and utter shit, especially from security perspective.
Noone was asking security guys but package maintainers.
My favorite systemd thing is booting up a box with 6 NICs where only 1 was configured during the initial setup. Second favorite is betting on whether it will hang on reboot/shutdown.
Great tool, 10/10.
My favorite was when the behavior of a USB drive in /etc/fstab
went from "hmm it's not plugged in at boot, I'll let the user know" to "not plugged in? Abort! Abort! We can't boot!"
This change over previous init behavior was especially fun on headless machines...
I've gotten into quite a lot of systemd-related flame wars so far, and what strikes me is that I haven't heard a single reason why systemd is good and should be used in favor of openrc/sysvinit/whatever. The only arguments I hear in favor of systemd, even from the its diehard defenders, are justifications why it's not that bad. Not once have I heard someone advocate for systemd with reasoning that goes likes "Systemd is superior to legacy init systems because you can do X much easier" or "systemd is more secure because it's resistant against Y attack vector". It's always "Linus says it's allright" or "binary logfiles aren't a problem, you can just get them from journald instead of reading the file", or "everyone already uses it".
When it comes to online discourse, systemd doesn't have advocates, it has apologists.
Well, I'll tell you that I prefer systemd because I can comprehend its declarative unit files and dependency-based system a lot better than the shell script DSLs and runlevels that I've had to mess with in other init systems. systemctl status
has a quite nice output that can be really handy when debugging units. I like being able to pull up logs for just about any service on my system with a simple journalctl
command instead of researching where the log file is.
Linus had an epic flame war with the systemd idiots for breaking Linux stupidly: https://igurublog.wordpress.com/2014/04/03/tso-and-linus-and-the-impotent-rage-against-systemd/
He didn't do anything because he made it clear he owned the kernel and userspace was someone else's problem, but also that the systemd guys were absolute morons who were a danger to themselves and everyone else.
Systemdeez nuts
Fuck me, I'm crylaughing at this
I feel like anyone who genuinely has a strong opinion on this and isn't actively developing something related has too much time on their hands ricing their desktop and needs to get a job
As someone who's not a developer at all and has been making a comic about systemd for a rather small audience, it's worse than you think: We actually have stuff to do and procrastinate on them while spending time and thoughts in this, reading old blog posts and forum debates as if deciphering Sumerian epic poems. Many pages were made while I was supposed to be preparing for exams, which I barely passed. Others when I should've been cleaning up for moving. I think part of the reason why I haven't made any in a while is that with a faithful audience being born and waiting for the next chapter, it's started feeling like something I had to do, and therefore, the type of stuff I procrastinate on.
My full-time job literally involves dealing with systemd's crap. There is a raspberry pi that controls all of our signage. Every time it is powered on, systemd gets stuck because it's trying to mount two separate partitions to the same mount point, whereupon I have to take a keyboard and a ladder, climb up the ceiling, plug in the keyboard, and press Enter to get it to boot. I've tried fixing it, but all I did was break it more.
systemd gets stuck because it's trying to mount two separate partitions to the same mount point
Uh... Sounds like it's not really systemd's fault, your setup is just terrible.
I've tried fixing it, but all I did was break it more.
If you're unable to fix it, maybe get somebody else? Like, this doesn't sound like it's an unfixable issue...
Uh… Sounds like it’s not really system’s fault, your setup is just terrible.
I don't know his specific issue, but the general behavior of systemd going completely nuts when something is a bit 'off' in some fashion that is supremely confusing. Sure, there's a 'mistake', but good luck figuring out what that mistake is. It's just systemd code tends to be awfully picky in obscure ways.
Then when someone comes along with a change to tolerate or at least provide a more informative error when some "mistake" has been made is frequently met with "no, there's no sane world where a user should be in that position, so we aren't going to help them out of that" or "that application does not comply with standard X", where X is some standard the application developer would have no reason to know exists, and is just something the systemd guys latched onto.
See the magical privilege escalation where a user beginning with a number got auto-privileges, and Pottering fought fixing it because "usernames should never begin with a number anyway".
[ *] (3 of 3) A stop job is running for User Manager for UID 1000... (1m12s / 3m)
# nano /etc/systemd/{system,user}.conf
----
DefaultTimeoutStopSec=10s
You're welcome.
OH LOOK A CONF FILE TO EDIT.
Full circle, bitches.
Type reboot
into an SSH session and play everyone's favorite game show...
WILL IT ACTUALLY DO IIIIIIIIIIIIIIT
Bullshit, there's always reasons listed. Some more, some less opiniated, but there's always lists.
For me personally:
- no portability
- not-invented-here syndrome
-
- manages stuff it shouldn't, like DNS
-
- makes some configurations unneccessarily complicated
- more CVE than all other init together
-
- service manager that runs with PID 0
To the feature creep: that's kind of the point. Why have a million little configs, when I could have one big one? Don't answer that, it's rhetorical. I get that there are use cases, but the average user doesn't like having to tweak every component of the OS separately before getting to doom-scrolling.
And that feature creep and large-scale adoption inevitably has led to a wider attack surface with more targets, so ofc there will be more CVEs, which—by the way—is a terrible metric of relative security.
You know what has 0 CVEs? DVWA.
You know what has more CVEs and a higher level of privilege than systemd? The linux kernel.
And don'tme get started on how bughunters can abuse CVEs for a quick buck. Seriously: these people's job is seeing how they can abuse systems to get unintended outcomes that benefit them, why would we expect CVEs to be special?
TL;DR: That point is akin to Trump's argument that COVID testing was bad because it led to more active cases (implied: being discovered).
I will take OpenRC to my grave
I'm more of a runit guy, but I started using Alpine recently, and I have to say, openrc is also pretty nice!
systemd, as a service manager, is decent. Not necessarily a huge improvement for most use cases.
systemd, the feature creep that decides to pull every single possible use case into itself to manage everything in one place, with qwirks because making a "generic, do everything" piece of software is not a good idea, is not that great.
systemd, the group of tools that decided to manage everything by rewriting everything from scratch and suffering from the same issue that were fixed decades ago, just because "we can do better" while changing all well known interfaces and causing a schism with either double workload or dropping support for half the landscape from other software developer is really stupid.
If half the energy that got spent in the "systemd" ecosystem was spent in existing projects and solutions that already addressed these same issues, it's likely we'd be in a far better place. Alas, it's a new ecosystem, so we spend a lot of energy getting to the same point we were before. And it's likely that when we get close to that, something new will show up and start the cycle again.
linuxmemes
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack members of the community for any reason.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't fork-bomb your computer.