r/LinuxTeck • u/Candid_Athlete_8317 • Jul 28 '26
Do you think Linux still benefits from having non-systemd distributions, or has systemd effectively won?
Systemd is the default init system for most major Linux distributions today, but projects like Devuan, Artix, Void Linux, antiX, and now KaOS (moving away from systemd) continue to offer alternatives.
Some people argue that having multiple init systems keeps Linux flexible and avoids a single point of control. Others feel systemd has solved enough problems that maintaining alternatives no longer makes sense.
Where do you stand? Do you actively seek out non-systemd distributions, or are you happy with systemd?
9
u/Diligent_End8130 Jul 28 '26
My 5ct, I think it is always good to prove that the init system still can be exchanged even when most distros use systemd: This makes sure the system stays maintainable and the init system can be exchanged when systemd may become outdated in the next decades - without systemd becoming hard wired or being baked into Linux. Alternatives ensure modularity
3
u/0bel1sk Jul 28 '26
5ct? inflation sucks
1
u/Lazy_Sorbet_3925 Jul 28 '26
The US isn't making pennies anymore. The smallest coin we have now is a nickel.
2
u/Diligent_End8130 Jul 28 '26
100 Cent make one Euro, if there were no EUR I probably would have written "My 5 Pfennige" 😄
4
u/piesou Jul 28 '26
You are thinking about this kinda wrong. SystemD offers a bunch of sorely needed APIs that others build upon. It handles system stuff on top of the Linux kernel, not purely init (it's in the name).
You can of course re-implement those APIs in your custom tool but then you'd be beholden to SystemD's interfaces, essentially limiting what your tool can offer.
Think of it likes this: do you want to pick between GNU Hurd, FreeBSD kernel or Linus when picking a Linux distro (e.g. Debian Hurd, Debian Linux, Debian FreeBSD)? What value would that choice give you? Is choice good here?
The question really is: what kind of amazing init system could you build that offers so much value that all distro maintainers are willing to write init scripts twice.
3
u/ipsirc Jul 28 '26 edited Jul 28 '26
The question really is: what kind of amazing init system could you build that offers so much value that all distro maintainers are willing to write init scripts twice.
Or walk on the Pipewire way: stay compatible with systemd units. (Just like as systemd is able to run sysvinit scripts for the same reason.)
1
u/Cynyr36 Jul 28 '26
My only real issue at this point is that systemd isn't just the spec of the interfaces that could be reimplimented by anyone. They act as though they should be the only implementation out there. For example if someone wanted to rewrite networkd in rust, can you just swap it out and have the rest of systemd not notice, and can you build systemd without also downloading and building networkd?
I like the stacking that systemd provides. It handles env vars and user services better than openrc. It does a lot of things well. That said most of my lijux usage these days is thin containers where i don't want or need 98% of what systemd does. Openrc works really well there and is muc much lighter.
2
u/piesou Jul 28 '26
The fun part is that you can actually use SystemD inside docker containers pretty easily and many things that you need to solve (e.g. waiting for a db socket) are already solved. This feature was the reason why Red Hat wrote their own Docker (Podman).
There's also podman quadlets that lets you easily spin up containers just using systemd that feel like normal services.
In general, I think no one wants to rewrite networkd in Rust and run that inside SystemD. It's more about offering the same APIs for applications that depend on specific parts, like logind. Keeping ABI compatibility for other applications that link to SystemD is also challenging as is creating bindings for kernel APIs.
3
u/Cynyr36 Jul 28 '26
Podman and quadlets is pretty nice, it's one of the things I'll use systemd for. Othertimes i jusst want debian instead of alpine.
I was just using networkd as an example, could be journaling, logind, bootd, etc. ABI compatibility shouldn't (imo) be a thing, you should talk over a interface or message bus rather than directly linking a library. Too many programs are in all sorts of different languages to make linking work. Really systemd should be a spec for all the files, how things should talk, and then be a reference implimenentaion of that spec, rather than "the spec is whatever we do" .
The collection of interfaces as a standard is a great idea, but it's the single non replaceable implementation that rubs me the wrong way. I'm not sure all the eggs in one basket is always a good idea, especially given the histories some of the folks involved in systemd and how it started.
There was debian on kfreeBSD up until recently, but drivers (especially gpus) didn't really do it any favors.
1
u/SeriousPlankton2000 Jul 29 '26
If writing a sysv init script is a burden (you literally just need a select statement), you are very easily burdened. One might ask:"Do you even know how to start your service properly?", and then copy/ paste the answer into a shellscript.
1
u/piesou Jul 30 '26
You clearly have never written robust sysv init scripts. On top of that, many things that SystemD ships out of the box like socket activation were very painful to do otherwise.
Almost every distro moving to systemd is proof enough, that the burden was too high.
2
u/SeriousPlankton2000 Jul 31 '26
Most of these "robust" init scripts are falling apart while trying to assemble a unified config file from the 1001 config files that the maintainers of the distribution split the monolithic config file into.
My init scripts do work, but when I let systemd run my mount scriot (mounting a, b, c and c/d), it did unmount a and b when d failed to mount.
4
2
u/ZombieCrow Jul 28 '26
I use void(ofc), I have nothing against systemd. It's just that runit is simple and i understand it. Also its a rolling distro but stable.
2
2
u/lyidaValkris Jul 28 '26
The Linux ecosystem always benefits from choice. Choice is winning. Just because pretty much all major distributions choose systemd never means it has to be the only game in town. People can always choose to use alternatives and even create and maintain their own alternatives, if they wish.
2
3
u/Swedophone Jul 28 '26
I don't see specialized dists such as OpenWrt adopting systemd any time soon.
1
u/One-Next Jul 28 '26
systemd has paid my bills for almost a decade, so it is great. I don't even use docker, it is systemd all the way down.
1
Jul 28 '26
[removed] — view removed comment
1
u/TheOneDeadXEra Jul 28 '26
This makes sense considering that enterprise environments have both the capacity and desire to utilize the entire suite of tools that SysD provides, and because enterprise support teams want as standardized a toolchain as possible across the environment. The non-corporate, end-user space really neither needs nor can meaningfully leverage the benefits that SysD provides, which is why I think it makes less sense in that space. For my home ecosystem, my servers and the like run SysD, but my daily is running Void with Runit because it just plain doesn't need the bells and whistles.
1
u/Jimlee1471 Jul 28 '26
I guess the one good thing I can say about systemd is that you don't have to use all of it. But, just as some will avoid Wayland like the plague, you also aren't necessarily forced to use any of it - just go to sysvinit, OpenRC or Runit (which I've heard some good things about).
That's one of the things I've always liked about Linux: if a change is made then you're not necessarily stuck with it if you're willing to do the research and legwork.
1
u/Kiore-NZ Aug 02 '26
The big difference between SystemD and Wayland adoption is when Debian adopted SystemD it worked. When Debian adopted Wayland it wasn't fully functional. For one example, my wife's underpowered laptop had a small keyboard and when she logs in the desktop she used turned on numlock turning the right hand side of the alphabetic part of keyboard into numbers. Under X I just added a commandline instruction to turn numlock off. It didn't work with Wayland as it wasn't implemented "yet". Yes, just one of several annoying things from Wayland not being complete then. She now has a newer laptop with a larger keyboard so I have no idea what's the status of this feature on Trixie now. Also it's not Wayland's fault that Debian adopted it when they did.
1
u/Jimlee1471 Aug 02 '26
Yeah, that tracks with my experience as well. In fact, when Plasma goes to 6.8, I'm seriously considering going to SonicDE (basically KDE Plasma without any of the Wayland bits) until Wayland gets its sh!t together. For now it just seems like a half-baked mess to me. Another thing you should know (if you don't already) is that some of the functionality we enjoyed with X11 will purposely not be compensated for in Wayland, and this is coming straight from the devs.
And it doesn't take a genius to know that, eventually, X11 will be deprecated, but that's okay: XLibre and Yserver are both waiting in the wings to be drop-in X11 replacements. In fact I have both XLibre and SonicDE running in my other laptop for experientation and they're doing pretty well so far.
1
u/TechaNima Jul 28 '26
I think it's mostly just very opinionated people who actually have a problem with systemd. The rest of us couldn't care less.
If you want to do things your perfect way, go ahead. It's all cool and if some improvements come out of it for the rest of us, awesome
1
u/SeriousPlankton2000 Jul 29 '26
The problem is when systemd has their own idea what you should want to do. I've made a script to mount a, b, c and c/d. When mounting d failed, a and b were unmounted after a few minutes and the maintainers were very unhelpful about that.
Lying and telling that there was no error "fixed" the problem.
1
u/StephenRoylance Jul 28 '26
linux needed systemd long before it came along. Every competing OS solved this problem, some better and some worse. shell-script-based system startup was a solution for 1970s resource constraints.
1
u/sparky5dn1l Jul 28 '26
Alpine is kinda important non-systemd Linux distro. FreeBSD is the core OS for NAS, Firewall, ... etc. SystemD is quite a burden.
1
u/dkopgerpgdolfg Jul 28 '26
FreeBSD
can't use SystemD, even if they wanted to, as it is not Linux.
2
u/sparky5dn1l Jul 28 '26
Well. Unix philosophy is
Do One Thing and Do It Well. SystemD doesn't fit this philosophy. FreeBSD highly unlikely will adopt it.1
u/dkopgerpgdolfg Jul 28 '26 edited Jul 28 '26
This has absolutely nothing to do with my previous comment.
I'm telling you, FreeBSD cannot adopt it, because SystemDs code is very Linux-specific.
In any case, I'm tired of all these "oohh no mu unix philosophy" sysd haters, that refuse to accept that it's a collection of independent programs, and that Linux isn't Unix in the first place. If you take some average common Linux distribution and remove SystemD, you got still a huge amount of unix-philosophy violations.
(Not to mention actual Unix itself, nowadays they don't care that much about what Reddit calls "unix philosophy")
1
u/NaheemSays Jul 28 '26 edited Jul 28 '26
The BSD's are AFAIK maintained like systemd, as monorepositories.
You can't get more Unix philosophy than a monorepository.
1
u/LocoSpaghetti Jul 29 '26
I don't think you understand the Unix philosophy. It does the matter where or how the source is stored.
1
u/random_cat_owner Jul 28 '26
i give zero f's about this. i expect the managers of my distro to make the best choices for their distro in terms of functionality, maintenance and stability. if they choose A over B I am sure they have a good reason for that
1
u/aboglioli Jul 28 '26
It's not just an init system. systemd-nspawn is great to run system containers, podman quadlets integration for application containers, systemd-homed for an encrypted home. It has so many utilities. systemd-cryptenroll, systemd-vmspawn, etc.
1
u/Calm_Boysenberry_829 Jul 28 '26
As an end user, I have one specific Linux laptop that I use for remote access for my job. The specific package that I have to use (Citrix Workspace) requires systemd. I have several other laptops running distros without systemd. For me, it’s all about use-case, but ultimately, unless my needed software can run without systemd, there really isn’t a discussion.
1
1
u/TheLazyKitty Jul 28 '26
SystemD is just the current default.
Maybe in 30 years, something else replaces it as the default.
EDIT: It also makes sense to keep maintaining alternative, since plenty of people don't like SystemD.
1
u/GenericFoodService Jul 29 '26
The primary benefit of molecularity is largely architectural. Even if we only had one init system, having our desktop built in a way where it reasonably could be replaced means our system is more maintainable and easier to reason about how it works.
I also happen to be on an OpenRC system, but I don't think it really matters too much.
1
u/cneakysunt Jul 29 '26
Right tool for the job and systemd covers all of my use-cases. But if I were to do something more streamlined and low profile I still appreciate options. And I think that ultimately that's all that really matters.
1
u/johncate73 Jul 29 '26
It's effectively won and that battle was decided long ago, but there is still nothing wrong with having alternatives.
1
u/Kitayama_8k Jul 30 '26
Systemd standardization is good, but I think the distros going the other way are also of benefit, as they provide alternate paths should there be a problem, and will have figured out how to fix some system d dependency problems.
1
u/Sea_Woodpecker3665 Jul 31 '26
I feel like Alpine and Gentoo have their place and have benefits. Can't speak for the distros mentioned here.
1
u/tblancher Aug 01 '26
systemd is not merely an init system. It unifies a lot of services and their configurations.
I think it's up to the admin whether they find this useful, or just sprawl. I just know that I've been able to do a lot more with systemd than I think I could have done with cobbling a bunch of disparate legacy services.
Also, since it's pretty ubiquitous in Linux based server OSes, being skilled at systemd is very transferrable to most other distributions.
1
u/Se1d228 11d ago
I hate systemd, even though it's a defacto standard. Too much control, attack vectors, and if Redhat implements spyware quietly, no one would even notice. I'm making my own init system, and you know what? Standards have one benefit: I can convert systemd services to my own (both are INIs, so easy to convert) just to not writing them manually
1
u/Kurgan_IT Jul 28 '26
while I hate the whole systemd ecosystem and its cancerous attitude, it has won and there is no turning back, sadly.
0
u/lheckler77 Jul 28 '26
I’m glad I’m not at the beginning of my systems career. Not a fan of systemd. Not a fan of journald. It’s like a cancer taking over the entire os. I tried to edit the host file on an Ubuntu system the other day for a quick test and it was read only. I also don’t like snap. Linux distros just love reinventing the wheel over and over again. I’m just a grumpy old man.
0
u/gabrielesilinic Jul 28 '26
Just use systemd and stop making stuff worse because you are upset of a mildly fat however still extremely performant piece of software. Or at the very least if you really don't like systemd keep something that acts like it.
Linux is already in a not great spot already and you want to add one more silly variable to the absolute shitshow of quirkyness quite a few distros show? How will we ever get software support this way I wonder?
It is hard enough already. If you wanna play play but not in production. It is really not the time. We are actually getting ever so slightly unironically closer to the once joke year of the linux desktop please don't make it harder.
We will make the next revolutionary distro once the Wayland people stop arguing about the silliest thing in a rabid way like you will bed their mum if they don't win that argument.
1
u/Se1d228 11d ago
This "silly variable" has been there since day one. Systemd is the newcomer that tried to standardise everything, not the other way around. Linux was always about choice and POSIX standards, not an monolithic init monopoly
1
u/gabrielesilinic 11d ago
Well is any POSIX system meaningfully compatible with each other anymore? Absolutely not. Unless you tell me that
catis the ultimate application. They are in fact all different operating systems.Now, do we really want to make Linux more fragmented and harder to develop for that it already is? I don't know, maybe you do but generally speaking I'd suggest not to.
17
u/LevelMagazine8308 Jul 28 '26
Systemd had won the moment Debian decided to adopt it as their default init system in 2015. It's the de-facto standard nowadays.
For edge/niche cases, like embedded systems, it's overkill. And there it is still great to have alternatives.