I am not the author.
I’ve heard of s6 and runit alongside OpenRC as alternatives. I believe distros should make the init system agnostic of the rest of the software and not force users to stick with what they force them to do. Systemd is really slow.
What infuriates me more than distros playing the heavy hand in adopting it, are applications depending on it (I’M LOOKING AT YOU GNOME). This is completely unacceptable. If I find an application that doesn’t work without systemd, I either compile it to see if it will work otherwise or give up on it.
Maybe my view of systemd will change if I delete all of the other binaries and just use the init module. Who the fuck decided to put a fucking log in manager with the init system??? This is the feature bloat that I’m talking about and I hate it
SystemD has been such a frustration the last couple years with the wonderful simplicity and stability it used to provide managing a system completely out the door as its main development company (RedHat) has stopped giving any kind of a shit about being a positive force in the world. We all shoulda listened 10 years ago when the greybeards were telling us not to fall for an init system trying to do too much.
If we listened to the grey beards there’d be no gui. Just a. Cli interface.
Emacs, sed and logining in as root
Emacs? When there’s
ed
? Talk about bloat…
Why would you need a GUI for the init?
I’m not seeing a problem here.
This article sounds a decade old.
systemd attempts to cover more ground instead of less
Have I got news for the author about the kernel he seems to have no issue with. (Note: I love the Linux kernel, but being a monolith, it certainly covers more ground instead of less, so the author’s point is already flawed unless he wants to go all Tanenbaum on the kernel, too)
Spoiler, the word is: it’s bad!
Praise be the Unix Philosophy. May all your projects do precisely one thing, and let they not be tempted by forbidden fruit and do two things.
You do know that systemd is modular and every part of it does only one thing? Don’t see a real conflict with the Unix Philosphy
Stop it Patrick, you’re scaring him
Yeah, was more poking fun of people who cling to the while Unix Philosophy stuff like it’s some unwritten rule that must be followed.
I honestly think there’s tons of Linux software that could be broadly defined as “multiple things”.
Even looking at the links other responders have posted, I even think a lot of linux software is made up of components which are tightly coupled together.
Just read http://judecnelson.blogspot.fr/2014/09/systemd-biggest-fallacies.html and I see now that I was in error with my claim. So yes, I accept all the down votes in shame.
Systemd: the Biggest Fallacies - point 1 addresses what you’re talking about, but remember that this blog is almost a decade old, so by this time, it is not reflective of the current condition.
I fear that the situation will not be better after nearly a decade.
“Situation”
I’m pretty sure everyone moved on
In fact, the situation has gotten much worse. The coupling of SystemD’s components to each other has gotten tighter. The coupling of things that aren’t SystemD to SystemD has gotten tighter. SystemD itself has gotten less stable. The overall result? Our operating systems require more, not less, troubleshooting, and they’re less, not more, enjoyable to use and develop on
I’ve never ever had an issue with systemd and I’ve been running Linux for years.
However, systemd makes the system much more secure and reliable as it is vastly superior to just a couple of shell scripts from 1999
However, systemd makes the system much more secure and reliable as it is
less secure and less reliable day-by-day you meant? systemd introduces needless dependencies ever since as if that was it sole intention ever from its very beginning, which already were used for wide attacks, and exactly those attacks that the people working hard to remove unneeded dependencies for security reasons meant to prevent by things like “do one thing only” (but security was not the number 1 reason for this one i think), systemd instead: ‘lets add another level of that exponential dependency tree from the insecurity hell’ felt like they did this stupid thing intentionally every month for a decade or more.
and stability… if you don’t monitor what systemd does, you’ll never know how bad it actually is. i’ve made custom scripts to monitor systemd’s failures (failing in doing a very primitive of its job) and there are hundreds (actually varying around 200 to 300 sometimes more) of such per day on all our systems for one particular(!) measurement only that was breaking service stability and i wrote a measure-and-fix+monitor workaround. other fixes were not monitored however, only silently fixed by workarounds, thus just unnumbered systemd bugs/instabilities in the dark that stole a lot of work capacity…
if you run distros with systemd, unreliability is your daily experience unless you don’t really care or have never experienced stability before - like running a service (a single process) for 8 years without any interruption then it suddenly stops and you go like “was it maybe an attack? the process died, how could that be? were there any connects from outside at that moment?” not talking about not updating something that long, but “stability” itself CAN be like if you dont stop it, it’ll still run in 10000+ years maybe millions, more likely that humans extincted themselves way earlier than of a process “just dying” by a bug… while systemd even randomly stops things that were running well for no reason (varying) once a month more or less (also varying in what it actually randomly stops, sometimes (2 times) it even stopped ssh on my servers, me asking myself if i should create yet another workaround for systemds buggyness to not locking me out again from network or ratjer go for the real solution for most* of all systemd problems - *see below) on the few standard installs i personally have as i didn’t have the way to automatically replace provider installed distro on VMs in the DC. i want this replacing automatically for the same reason why i don’t like systemd, it causes manual work for a thing that should go automated. however due to systemd’s perpetuated instability i now managed to have this way, and every second working on getting rid of systemd is worth it 100k times. this however does not solve all systemd-introduced problems as the xz attack showed (a systemd-dependency on xz made the infected xz library beeing useful-for-the-atracker during compiletime of sshd binary with which then the attacker could infect the newly built sshd binary),one could still be attacked through systemd’s dependency hell even if one does not use systemd by oneself, but the build machines used for your distro could be affected/infected by systemd’s needless dependencies when “also” compiling for systemd-affected distributions thus there is the risk of becoming a victim of needless-systemd-dependencies while not using systemd at all. however the attack through systemd dependency (and that the public solution was not the removal of needless dependencies only included as source for superflous third party “needs”) made clear that systemd is an overall problem for security that will not be solved quickly but stay just like all windows insecurities will stay as long as they whish to push them to their “users”.
systemd reducing overall security and its unreliability combined with some builtin impediments (i.e. when debugging its defects) is what drove me away from systemd. there are solutions way more stable and way more secure (and way better documented btw) that do not call in for needless dependencies, reducing risks, attack vectors and increases overall debuggability i.e. by deterministic behaviour as an easy example. and none of its important (to me) promises have been fulfilled yet by systemd, drop-in-replacement? have heared that lie thousands of times, but in the last decade i have not experienced it a single time in a distro and it does not seem to be included/finished any more.
for windows users or windows admins a linux with systemd on it IS an improvement in stability, security and of course for updating, yes. but all of that does not come from systemd, rather the opposite is the case, systemd reduces it month by month, thats my experience and thats the most important experience for me, idc what lies whitdepapers tell or what broken promises are believed by anyone or the masses, i want secure and stable servers and services and systemd does not fit in for any of these goals and the time it was still “young” and early problems could be accepted in the hope they get fixed soon are gone, but without those fixes having ever appeared.
Too long didn’t read.
this is everything i see monitoring Linux boxes everyday. we’ve shifted mostly to OpenRC about it. i can’t imagine defending SystemD if you have experienced anything other than it and SysInitV. yeah compared to SysInitV, it’s really nice, but to say it’s good and stable? that’s like praising your landlord for all the work they do and the reason they haven’t fixed your broken dishwasher is because they’re so busy from what a good landlord they are
more likely that humans extincted themselves way earlier than of a process “just dying” by a bug…
Lol what???
he’s joking
Maybe some day after we’re done replacing X11 people will collectively find the will to do something about systemd before it gets too much worse. I wonder which will be easier: Throw it all out and start again, or split it up into parts of more manageable size with well-defined interfaces between them.
I’m pretty sure most people aren’t even aware of systemd let along its alternatives. Linux and systemd go together like cake and ice cream. It is the standard.
There’s shepherd for Guix, which I like, to be frank. elogind is seperated, as opposed to logind being a part of the “init” system. There’s also alternatives like s6 and runit.
I’m honestly surprised by how nice Shepherd is now that I’m trying out Guix. It just seems very minimal and stays out of the way. But I havent poked around with it much
Honestly, it’s 2024, and as a result, this post gives me a bit of a chuckle. For most purposes, systemd has won, and honestly, I hardly even notice. (Granted, I have only used Linux during the systemd era.) If systemd actually interferes with one’s needs on a technological (not just a vague philosophical) level, little stops them from seeking out a way to use another init system.
Has it gotten more difficult to use other init systems these days? Yes. However, by the time a person has a problem where systemd can’t do the job and have to use a different init system, they’re probably more than competent enough to create custom services. I also feel like in terms of software support, only the most idiotic, worthless projects have no possible way to port hem to another init system.
I used Linux during the init.d days. What a nightmare that was.
The only thing I liked was arch’s pretty boot sequence … which I stared at for a while because SysV init was so slow.
Busybox init and openRC seem to be the alternatives. They are both useful in embedded contexts where you don’t need much just a program to start a service
I may have misconveyed my meaning. I wasn’t necessarily arguing that systemd has no viable alternatives. I meant to say that where systemd doesn’t work (embedded systems being a good example), chances are the lack of support won’t be a burden for a reasonably skilled user.
I’m pretty sure everyone has settled by now, Personally I hate systemd. It’s slow, relatively resource intensive, poorly designed in many aspects.
but as an init and service manager it’s the best. Though I do have to say dinit does get pretty close for me now.
I personally use Arch on my desktop and artix on my laptop. I want Systemd to die just as much as the next Systemd hater, but unfortunately I don’t believe we have anything better yet.
It is faster on modern hardware due to heavy optimization
can’t say I have experienced that. I use a myriad of modern but lower end systems and stuff like dinit still uses less resources and is in turn better for the speed and responsiveness of my systems
I’ve run systemd on a system with 32mb of memory and a Pentium II. It was not the bottle neck and it booted right up.
Uh oh here we go again… spaces are better than tabs! Fight me! The shirt is coming off! Granular white space beats fewer character per file!
I wonder when the year of people shut up about systemd will be
When they die
at least this guy recognizes systemd isn’t (just) an init system
“it attempts to do more” yeah. that’s the point. that’s a good thing. a single source of truth for system background services. background systems used to be a fucking mess and then systemd fixed it. this is why it is the de facto pid 1
i wish people just quit whining
I think if systemd were documented in a more consumable format (the man pages need better organization IMO) more people would see how powerful it is. Mounting directories with BindPath, and BindPathRO, Limiting systemcalls, socket activation and cgroup integration, and nspawn containers are features I can’t live without.
I feel like a lot of people that get attached to the “It tries to do everything and it’s against the unix philosophy” might change their minds when they see the tradeoffs. It has its problems for sure, but you get a lot out of it.
These days I don’t even use docker containers for running services. I just put it in a systemd service and lock it down as tightly as I can.
I’m pretty sure the Arch Wiki has a substantial documentation regarding systemd
It is pretty well documented. Just look it up online and you will find plenty of articles
that’s a great example of bad docs.
How so? What are you trying to do?
read up to date current docs and know they are for the current working state of the system, potentially when i don’t have a net connection because i’m troubleshooting PID 0/1
You’ll find blog spam and ai slop if you look it up online. Systemd’s website/man pages should be the resource that brings me up to speed.
I had to read about run0 and other upcoming systemd features from Lennart’s Mastodon which I’m not a fan of either. These kinds of things should be on the systemd website itself.
It’s powerfulness IS the problem. Some parts of systemd are great. Some are meh! Some really suck. But because it’s monolithic, you can’t take the good bits and replace the bad. You have to take it all or nothing.
That’s the problem. Its architecture is offensively bad.
That’s just completely wrong. Just try e.g. replacing the journald backend with the old text based syslog, and not only will you discover that is possible (which directly contradicts what you just said), it’s also easy!
What can systemd do that cannot be done with OpenRC?
Idk, I kinda like systemd.
Me too. I enjoy the @myservername thing as it lets me have one file to maintain lots of servers (Minecraft in my case). I’m sure someone will say other init systems can do the same, but I learnt this one and I like it.
I just insert the Tragedy of systemd video as my usual response to these threads.
Great talk on SystemD for those that are interested: https://m.youtube.com/watch?v=o_AIw9bGogo&t=837s&pp=2AHFBpACAQ%3D%3D
systemd, not SystemD, or system d.
But yeah, wonderful talk!
The biggest threat to the Linux Community is the Linux Community itself.
Yeah, but we are the real™ Linux community, not like those splitters from the community of Linux!
But this statement is splitting the Linux community. xD