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.
The systemd debate is basically dead.
But the Super Nintendo vs. Sega Genesis/Megadrive debate rages on.
Because Sega does what Nintendon’t
It has Blast Processing!
Like trying to destroy people’s lives so they can make a few dollars.
Whoa, did I happen to miss something 30 years ago? What did they do?
I was talking about Nintendo, they constantly sue people (and other companies) for obscure amounts of money just because they’re rich and can afford it.
Both have great games.
Mega Drive is clearly better because that’s the one I had as a child.
I had neither…
Skill issue. Try the following:
- be born into a different family that did have a Mega Drive
- time travel back in time and give yourself a Mega Drive
- travel to an alternate universe (or as I like to call it, time travel sideways) where Mega Drives are standard issue at birth
Hope this helps. Git gud.Thanks for the troubleshooting, I will consider those steps.
“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…
You could just use systemd mounts like a normal person. Fstab is for critical partitions
Fstab is for critical partitions
Hush everyone, don’t tell this guy about
noauto
, it’ll burst his bubbleI’ve never seen it used in the wild
Jesus, I mount everything manually from noauto, except root.
If nfs isn’t available, I don’t want my system to hang, typing mount takes 2 seconds.
Wouldn’t your NFS not mount in that case? Wouldn’t you want it to retry periodically? Also, what happens to your service when NFS isn’t available?
Sounds like systemd mounts are better in this case (unless the device is non critical)
This happened to me when Debian switched from SysV to systemd. I am not the only person who experienced this (e.g., https://bbs.archlinux.org/viewtopic.php?id=147478 ).
This is not to say the systemd behavior is wrong, but it essentially changed the behavior of
fstab
. Whether this is Debian’s fault, Arch’s fault (per the above link), systemd’s fault, or my fault is a fair question. But this committed that most egregious of sins per our Lord and Savior Torvalds — it broke my userspace.That was a really long time ago. (2015) I don’t understand why you are holding a grudge for almost 10 years. Most people have never used a system without systemd.
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.
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.
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.
“Hi I’m new to Linux, I switched from Windows to Alpine Linux and my laptop’s battery life has gone from 6 hours to 30 minutes before needing a charge.”
“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.
So salty. Also twisting the things I said. I for sure like to visit phoronix, but I avoid the phoronix forum and advice was to avoid the forum.
Noone was asking security guys but package maintainers.
citation needed.
Keep using Devuan if it makes you happy.
Not really interested in debating with average “I run arch btw” user. We are not in the same universe, things I have to audit and maintain are not in the same universe with things you do, so having such a smart advice coming from you is not a surprise at all. I could, after all, just roll out my own distro if I am not happy, amirite?
I run systemd machines because I don’t have a choice. It doesn’t make it any less of a shit. Simple as that.
But hey, tell me some more about systemd, I am really new to all this 🤔
Out of curiosity, why exactly do you not have a choice in not running systemd? Is it company policy / are they clients’ machines?
Buddy lay off the Rick and Morty and take a shower
“I’m not in the same universe as you!!!” Get a grip
Not really interested in debating with average “I run arch btw” user. We are not in the same universe, things I have to audit and maintain are not in the same universe with things you do
Sir, this is the Linux memes sublemmy.
Right. I am dumb 😕🤗
Although there is an argument for not using it on (very) old systems
The systemd debate is basically dead.
Not until it isn’t shite.
Systemdeez nuts
Fuck me, I’m crylaughing at this
[ *] (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.
What the fuck it even means for a stop job to run?
Systemd is trying to stop a service. To do an action to a service (or any unit), it runs a job. The job to stop a service is called a stop job. Once the stop job is taken off the job queue, the stop job is running.
The method of stopping a service is configurable, but the default is to send a kill signal to the MainPID, then wait for the process to exit. If it doesn’t, after a timeout, the kill is reattempted with a harsher signal.
So its the units to blame
What is the default of the default?
Dunno, but looks at
man service.unit
I think)
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.
Congratulations on passing your exams! Hang in there. 🙂
Thank you! This year’s even harder, but I’m hanging on!
Congrats on passing the exams!
Thank you!
😁 It is a fun comic
Thank you!
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”.
I love that mentality to development
If it has a buffer overflow exploit that caused it to execute arbitrary code is his response that people shouldn’t be sending that much data into that port anyway so we’re not going to fix it?
(I feel like this shouldn’t require a /s but I’m throwing it in anyway)
Curious, how does changing one of them to a different mount point make things worse?
I’m gonna laugh if it’s something as simple as a botched fstab config.
In the past, it’s usually been the case that the more ignorant I am about the computer system, the stronger my opinions are.
When I first started trying out Linux, I was pissed at it and would regularly rant to anyone who would listen. All because my laptop wouldn’t properly sleep: it would turn off, then in a few minutes come back on; turns out the WiFi card had a power setting that was causing it to wake the computer up from sleep.
After a year of avoiding the laptop, a friend who was visiting from out of town and uses Arch btw took one look at it, diagnosed and fixed it in minutes. I felt like a jackass for blaming the linux world for intel’s non-free WiFi driver being shit. (in my defense, I had never needed to toggle this setting when the laptop was originally running Windows).
The worst part is that I’m a sysadmin, diagnosing and fixing computer problems should be my specialty. Instead I failed to put in the minimum amount of effort and just wrote the entire thing off as a lost cause. Easier then questioning my own infallibility, I suppose.
A typo in fstab shouldn’t wreck the system. Why is that not resilient ? I added an extra mount point to an empty partition but forgot to actually create it in LVM.
During boot, device not found and boot halted, on a computer with no monitor/keyboard
It will cause a critical error during boot if the device isn’t given the
nofail
mount option, which is not included in thedefaults
option, and then fails to mount. For more details, look in thefstab(5)
man page, and for even more detail, themount(8)
man page.Found that out for myself when not having my external harddrive enclosure turned on with a formatted drive in it caused the pc to boot into recovery mode (it was not the primary drive). I had just copy-pasted the options from my root partition, thinking I could take the shortcut instead of reading documentation.
There’s probably other ways that a borked fstab can cause a fail to boot, but that’s just the one I know of from experience.
Cool ! The default should smarter than bork by default.
Its a ‘failsafe’ , like if part of the system depends on that drive mounting then if it fails then don’t continue. Not the expected default, but probably made sense at some point. Like if brakes are broken don’t allow starting truck, type failsafe.
Does indeed sound likely to be an fstab issue, unless system services are being used in a really weird way.
can you get something besides a pi?
As someone who has strong opinions on this, and not only has a job but has a job related to exactly sort of thing… We use freebsd.
Specifically to avoid shit like systemd, and other questionable choices forced down people’s throats by idiots who can’t stop touching things that work well because they didn’t invent it.
What do you use freebsd for? Server or clients and what kind of workload?
Servers, and workloads are various- DNS, ntp, databases, a few websites, internal servers running code/apis/etc for internal processes, etc.
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).
Sure, some like overengineering.
is it overengineering or just a push back against “make each program do one thing well,” and saying yeah but I have n things to do and I only need them done, well or not I just need them done and don’t want to dig through 20 files to do it…
I’d argue s6 does that aspect better, and without overengineering and userspace-dependents. Systemd was just the earlier bird.
Try writing a init script on systemD.
It’s amazingly simple
But only that.
Btw, dinit is simpler. :)p
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!
Unit files, sockets and systemctl
Stop it Patrick, you’re scaring him!
What “scares” me the most is the journal… for some reason it takes too long to get specific unit logs, and should anything break down in it, there is no way for me to fix it. Like logging has been solved forever, and I prefer specific unit logs to the abomination of journalctl.
But like unit files are everywhere, and systemctl at its core is a nice cmd utility.
The thing with journalctl is that it is a database. Thus means that searching and finding things can be fast and easy in high complexity cases but it can also stall in cases with very high resource usage.
Thing is that they could have preserved the textual nature and had some sort of external metadata to facilitate the ‘fanciness’. I have worked in other logging systems that did that, with the ability to consume the plaintext logs in an ‘old fashioned’ way but a utility being able to do all the nice filtering, search, and special event marking that journalctl provides without compromising the existence of the plain text.
Plain text is slow and cumbersome for large amounts of logs. It would of had a decent performance penalty for little value add.
If you like text you can pipe journalctl
But if journalctl is slow, piping is not helping.
We have only one week of very sparse logs in it, yet it takes several seconds… greping tens of gigabytes of logs can be sometimes faster. That is insane.
Strange
Probably worth asking on a technical
As I said, I’ve dealt with logging where the variable length text was kept as plain text, with external metadata/index as binary. You have best of both worlds here. Plus it’s easier to have very predictable entry alignment, as the messy variable data is kept outside the binary file, and the binary file can have more fixed record sizes. You may have some duplicate data (e.g. the text file has a text version of a timestamp duplicated with the metadata binary timestamp), but overall not too bad.
But why?
I just can’t grasp why such elementary things need to be so fancied up.
It’s not like we don’t have databases and use them for relevant data. But this isn’t it.
And databases with hundreds of milions of rows are faster than journalctl (in my experience on the same hardware).
Just like windows even log
What scared me about it is this kind of shit.
science progresses one funeral at a time
There is nothing scientific about systemd
cool
Do people still debate about systemd?
Neurotypical people do not.
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.
agree. i find the dns resolver in particular a dumpster fire of shitfuckery. name resolution was shitty, but a solution based on wrapper is just ugh.
same with rust?
Learning how Systemd manages the network was a total mindfuck. There are so many alternatives, all of them being used differently by different tools, partially supported. networkd, Network Manager… There were other tools, they shared similar files but had them in different /etc or /usr folders. There were unexpected interactions between the tools… Oh man, it was so bad. I was very disappointed.
I was really into learning how things really worked in Linux and this was a slap to my face because my mindset was “Linux is so straightforward”. No, it is not, it is actually a mess like most systems. I know this isn’t a “Linux” issue, I’m just ranting about this specific ecosystem.
What’s system md? Sounds like the name of 90s anti-virus software.
Norton McCaffersky System MD Super Scanner Virus Protection.