Why do you use a systemd-less distro (if you do)?

2 days ago by SwooshBakery624 [they/them] to c/linux

I'm curious to know why people use systemd-less distributions. Which one would you recommend to someone who wants to stop using systemd?

HappyFrog 45 points 2 days ago

I'm the type of person who wants more systemd in my computer, but if I think the arguments for a systemd-less system are:

  • Making sure that apps remain open and compatible with other init systems, so that if systemd turns evil there is a easy way to escape.
  • Trimming and removing bloat that some people feel systemd provides.
  • Testing out other init systems just for the fun of it, like distro hopping.
path: 0 26360198, hotness: undefined, score: 45, children: 24
khleedril 13 points 2 days ago

@HappyFrog @SwooshBakery624 I think the real fun (value) in not using systemd is much greater flexibility to mix and match different sub-systems and make the machine start up in the exact state you want it to, with just enough essential daemons.

path: 0 26360198 26360237, hotness: undefined, score: 13, children: 0
Blisterexe 8 points 2 days ago

Making sure that apps remain open and compatible with other init systems, so that if systemd turns evil there is a easy way to escape.

Since systemD is open source, even if they do turn evil it could be forked from the last non-evil version, or another implementation could be made. I do agree with the other two points though.

path: 0 26360198 26363265, hotness: undefined, score: 8, children: 2
racketlauncher831 -1 points 15 hours ago

Chromium is open source. Google is evil.

"Fork it, grandpa!"

path: 0 26360198 26363265 26382099, hotness: undefined, score: -1, children: 1
Blisterexe 1 point 10 hours ago

That's a false equivalence and you know it

path: 0 26360198 26363265 26382099 26386438, hotness: undefined, score: 1, children: 0
thingsiplay 5 points 2 days ago

I’m the type of person who wants more systemd in my computer,

Why? Don't get me wrong, I have nothing against systemd and will continue using a distribution if it has it or not, it's not a deciding factor right now. But I'm also no one who says "I want more of it" or the opposite "I want less of it`.

path: 0 26360198 26363433, hotness: undefined, score: 5, children: 1
HappyFrog 3 points 2 days ago

I like ot when the software I use feels cohesive, and systemd has a whole echosystem of things that does things the same way. Like, I use quadlets to manage my home server's containers the same way I set up mount points.

path: 0 26360198 26363433 26365658, hotness: undefined, score: 3, children: 0
Cris_Citrus 2 points 2 days ago

I think you did a great job explaining it! I really liked my short time with void and would probably still be using I were more capable of setting up and maintaining a minimal distro

path: 0 26360198 26361309, hotness: undefined, score: 2, children: 0
BB_C 1 point 2 days ago

I’m the type of person who wants more systemd in my computer

Hear hear. A couple hundred more should do the trick.

bootctl
busctl
coredumpctl
homectl
hostnamectl
importctl
installkernel -> kernel-install
journalctl
kernel-install
localectl
loginctl
machinectl
mount.ddi -> systemd-dissect
mount.mstack -> systemd-mstack
mount.storage -> storagectl
networkctl
oomctl
portablectl
resolvectl
run0 -> systemd-run
storagectl
systemctl
systemd-ac-power
systemd-analyze
systemd-ask-password
systemd-cat
systemd-cgls
systemd-cgtop
systemd-confext -> systemd-sysext
systemd-creds
systemd-cryptenroll
systemd-cryptsetup
systemd-delta
systemd-detect-virt
systemd-dissect
systemd-escape
systemd-firstboot
systemd-home-fallback-shell -> homectl
systemd-hwdb
systemd-id128
systemd-inhibit
systemd-machine-id-setup
systemd-mount
systemd-mstack
systemd-mute-console
systemd-notify
systemd-nspawn
systemd-path
systemd-pty-forward
systemd-repart
systemd-resolve -> resolvectl
systemd-run
systemd-socket-activate
systemd-stdio-bridge
systemd-sysext
systemd-sysinstall
systemd-sysusers
systemd-tmpfiles
systemd-tty-ask-password-agent
systemd-umount -> systemd-mount
systemd-vmspawn
systemd-vpick
timedatectl
udevadm
updatectl
userdbctl
varlinkctl
path: 0 26360198 26363454, hotness: undefined, score: 1, children: 16
esc 6 points 2 days ago

Majority of these are separate utilities developed under systemd umbrella.

path: 0 26360198 26363454 26363996, hotness: undefined, score: 6, children: 15
BB_C 4 points 2 days ago

No, they aren't. These are the binaries from THE systemd package , built from systemd releases, from THE systemd repo.

A single source tree looking like an "umbrella", and an overreaching one at that, is THE point.

path: 0 26360198 26363454 26363996 26365054, hotness: undefined, score: 4, children: 14
esc 6 points 2 days ago

What do you think about coreutils, util-li nux, findutils, god forbid iproute2? They all are binaries from THE mentioned packages, built from THE repo (have you heard of monorepos?) are they also overreaching and that's THE point?

path: 0 26360198 26363454 26363996 26365054 26365224, hotness: undefined, score: 6, children: 11
possiblylinux127 4 points a day ago

...so they are separate binaries

Systemd doesn't require all of these to function. You can use systemd as just a init system

path: 0 26360198 26363454 26363996 26365054 26368189, hotness: undefined, score: 4, children: 1
nyan 18 points a day ago

Gentoo is not exactly a systemd-less distribution—you do have the option of installing it instead of going with the default (OpenRC). Personally, though, my Linux use predates systemd and no one has ever presented what I would consider a compelling reason for me to switch to it, so I install all my systems with OpenRC. I've reached a stage in my life where I dislike unnecessary churn in utility software.

From a less-personal standpoint, I consider the philosophy behind systemd to be wrongheaded (as in, it looks very much like Microsoft's embrace-extend-extinguish—and no, I do not trust Red Hat not to be sold to someone who will take advantage). Many of the other reasons-not-to-use given by others here also ring true to me.

path: 0 26369595, hotness: undefined, score: 18, children: 3
Arcka 9 points a day ago

I do not trust Red Hat not to be sold to someone who will take advantage

They've been IBM since 2019.

path: 0 26369595 26373542, hotness: undefined, score: 9, children: 2
hunger 2 points 13 hours ago

Hardly any of the core systemd people work at Redhat these days. Microsoft employs more of them then Redhat. Right now I think Lennarts new company employes several of the key systemd people.

Contributions are comming in from all major distributions though.

path: 0 26369595 26373542 26383338, hotness: undefined, score: 2, children: 0
nyan -1 points 17 hours ago

And IBM could very easily sell them on, or the leadership there could change and decide to do something unpleasant (although I know IBM has a long history of being about as maneuverable as a parade float, it still could happen).

path: 0 26369595 26373542 26380100, hotness: undefined, score: -1, children: 0
Sickday 11 points 2 days ago

I'm using Guix which uses Shepherd. It's really nice if you're comfortable with Lisp or Scheme/Guile to be specific.

To people wanting to move away from SystemD though, I'm personally partial to OpenRC. It's not very complex at all. As for distros that use it, Void Linux comes to mind. I was also pretty comfortable daily driving Alpine Linux for a while. Both are very much "get out of the way and let me work" distros in my eyes.

path: 0 26361523, hotness: undefined, score: 11, children: 1
SwooshBakery624 0 points a day ago

Void Linux uses runit, not OpenRC though.

path: 0 26361523 26375733, hotness: undefined, score: 0, children: 0
misk 11 points 2 days ago

The main argument I hear is about portability. Systemd integrates deeply with Linux and isn’t available on BSDs or other Unix-like systems. This in itself wouldn’t be an issue but major desktop software started to integrate systemd locking out BSD users. A recent example is KDE Plasma Login Manager (KDE itself still works).

Providing systemd-less option is something very in line with Gentoo Linux portability goals so I’d take a look at what they do if you’re interested.

path: 0 26360310, hotness: undefined, score: 11, children: 4
hunger 2 points 20 hours ago

Out of interest: Which init system is used on several OSes by default? Last I checked all OSes wanted init systems that made actual use of their unique kernel features. Any POSIX compliant init tool will by definition not support OS specific features out of the box. Maybe you can hack them on?

I see this "they depend on systemd-specific features": Of course. The systemd project listens when user space developers report the probpems they face with their problems and tries to solve them. Of course developers are going to use that, why would they want to hack around a problem poorly instead of using a proper solution that is more stable, robust and has seen way more testing than anything they could write themselves? The problem is not systemd here, its nobody else bothering to do something.

path: 0 26360310 26378359, hotness: undefined, score: 2, children: 3
misk 2 points 20 hours ago

I don’t think there’s one. Gentoo OpenRC was created with FreeBSD and NetBSD in mind but hasn’t really been adopted beyond Linux. It feels more like it’s an effort to keep recipes for having Linux run without systemd and to monitor cases where systemd integration breaks things for other init systems. Having only one good option means being one option away from having no good options at all.

path: 0 26360310 26378359 26378653, hotness: undefined, score: 2, children: 2
hunger 2 points 13 hours ago

So why bother about making init tools portable? You end up with a tool that works poorly on all OSes and nobody needs more of that.

path: 0 26360310 26378359 26378653 26383410, hotness: undefined, score: 2, children: 1
misk 2 points 11 hours ago

Even if OpenRC is not widely adopted it is a commitment from Gentoo to build their package recipes in a way that’s portable across different init systems. Keeping options open is healthy and I think one of the coolest things about Linux ecosystem historically was that there were at least two non-halfassed options for most of the system components. This also helps out little guys like BSDs who benefit from portability issues Gentoo package maintainers raise upstream.

path: 0 26360310 26378359 26378653 26383410 26385108, hotness: undefined, score: 2, children: 0
BladeFederation 10 points a day ago

Caviat: I use a distro with systemd. But these are generally the reasons people don't:

Violates the Unix principle (that Linux has mostly inherited) that every program should do one thing only, and do that thing well.

Subsequent theorizing that the things systemd does could be done more efficiently.

Subsequent theorizing that allowing a single dev team, in this case, Red Hat, a US corporation aimed at enterprise use, to control a large chunk of Linux development could be a bad thing. There is some merit to this, as some applications require systemd specifically as a dependency.

The reality is that these systemd isn't particularly inefficient, and no power moves from Red Hat have been made. Is this the absolute most ideal situation? Perhaps not, and I'm glad people are crafting other solutions. As of now, it does not factor into what distro I choose at all.

path: 0 26367676, hotness: undefined, score: 10, children: 0
hexagonwin 10 points 2 days ago

i use slackware. the init system here is extremely easy and simple. (mostly shell scripts)

i see no reason to use systemd on my machine. it's an unnecessarily complex beast i can't fully understand myself.. i get it there's some useful features included but i don't need them. and i personally had issues with machines using systemd (waiting for some daemon to start with some timer going and hanging there, idk if it's a config issue but it was a vanilla debian box with barely anything changed)

path: 0 26360422, hotness: undefined, score: 10, children: 0
decolo 10 points 2 days ago

The systemic reason people in general should use a non-systemd distro, is that systemd has too much control over the direction of Linux development and the developers are beholden to big tech instead of end users. This inevitably leads to bad outcomes as we see with Linus and AI the past few days even assuming everyone started out with pure intentions.

As far as the end user experience, there are some things that just assume systemd and you have to start bashing around and guessing from logs to get it running (eg Tailscale). Systemd is honestly a good user experience for new users and simplifies a lot of annoying tasks. It's insidious.

path: 0 26361632, hotness: undefined, score: 10, children: 0
eta 8 points 2 days ago

Recently I started experimenting with Alpine Linux. Initially because I wanted something for a Raspberry Pi which had newer packages than Raspberry OS and was quite minimal. Now I also installed it on a spare laptop and set up a desktop environment with the River Compositor mostly just to try it out. Most things I want to do are already working as expected while after boot it uses only 380MB of RAM. So I like how minimal it is, the package management is really nice and stable and it just runs very nicely on this older laptop.

path: 0 26360120, hotness: undefined, score: 8, children: 1
hunger 1 point 20 hours ago

Alpine is a wonderful distribution if you can afford to opt out of all thr security improvements made in the last 20 years.

Just try to log the keystrokes of another user (as root/some other user or even from a program running as the same user) and compare that to a modern systemd system. It is amazing what a difference the new kernel features make (revoking access, only allowing one process access) together with systemd-logind to pass access around to the right processes. There are tons more examples... any progress made right now is in systemd first. In fact most progress is never taken up outside systemd at all.

path: 0 26360120 26378502, hotness: undefined, score: 1, children: 0
confusedpuppy 7 points 2 days ago

I use Alpine Linux which uses OpenRC. For me, I like to understand how things work and SystemD is too complex for me. It's presence discourages me from wanting to learn it because there are other things I would prefer to do with my time instead.

I really enjoy writing scripts and OpenRC is far easier for me to understand. I think Runit on Void might be even more simpler than OpenRC but I have no real experience with it. Alpine just happened to cross my path first.

I write a lot of POSIX scripts so portability is something that is important to me. It gives me the freedom to move around to different types of distributions whenever I want.

Also, without SystemD, I've learned so much about how Operating Systems work in a more low level and detailed way. I've always struggled with keeping hobbies so this has been a nice change. There's always more to learn and it's easy to get lost in all the logic puzzle pieces.

When I don't feel like tinkering, I still have a copy of Linux Mint Debian Edition set aside as a backup. It's base installation is simple, has everything I need and it just works.

path: 0 26362492, hotness: undefined, score: 7, children: 0
somegeek 6 points 21 hours ago

Because redhat/IBM are inherently evil and try to takeover FOSS as much as possible

path: 0 26377761, hotness: undefined, score: 6, children: 0
possiblylinux127 5 points a day ago

I think some people are simply nostalgic for the Linux/Unix of yesterday. Systemd is a pretty big change to the system of established norms

With that being said, the strong suite of systemd is complex systems. For embedded Linux like buildroot and openwrt busybox init makes way more sense.

path: 0 26368136, hotness: undefined, score: 5, children: 0
fdnomad 5 points 2 days ago

I wanted to try out a systemd-less distro because I didnt like how much authority the systemd project seems to give itself. Now I've fully switched from Arch Linux with KDE Plasma to Void Linux with Noctalia and Niri.

Its been pretty smooth so far. The only hickup has been that I had to raise some sort of memory limit to run heavier steam games. I had to compile like 2 programs I use from source but I dont mind. Loving how slick Niri is!

path: 0 26360492, hotness: undefined, score: 5, children: 0
muhyb 4 points 2 days ago

To be fair, there is no reason for a standard user to not to use systemd. You can easily find tutorials when you need them, which won't be a lot for your daily usage.

I switched to a systemd-less distro because I want simplicity and want every service on my system to be in my control. I cannot use systemd without copy-paste commands. With runit everything is simple.

Note that, some programs specifically check for systemd and for those you might need to adjust things accordingly, if you want to use an init system other than systemd. So again, if you don't want to deal with init systems, systemd just works.

I use Void Linux. It has runit and it's simple. If you want things kinda old-school there are distros that use OpenRC. There are a lot of init systems in the wild and that is a good thing, though you might find some of them quite barebones.

So if you want more control, why not? Just be ready to learn more things because systemd has more than what an init system do.

path: 0 26360330, hotness: undefined, score: 4, children: 6
esc 4 points 2 days ago

You get less control actually. Like you can't even do basic things (capabilities per daemon, limits per daemon, isolation, etc.) with old-school inits. Won't even start on security features allowed to units by systemd.

If by control you mean you can write your own logic in an initscript, then yes you probably can, but it's still limited (never tried runit, but on old rhels and debian they were) by other tooling that expects script to behave in a particular way. You can still obviously do it with systemd by calling your script.

path: 0 26360330 26362848, hotness: undefined, score: 4, children: 5
muhyb 3 points 2 days ago

If you mean by abilities, I agree. Most of the tuning that exist on systemd doesn't exist for runit, at least out of the box or to my knowledge. However what I meant is, with systemd I don't know what's going on on my system, with runit I know every single service because I put them there in the first place. Of course systemd covers most of the things nowadays, while I have to deal with power management, networking, display manager, login manager etc all separately. Doing the Unix way is simple, while systemd grew to be quite complex.

For my daily usage it suffices. For my home server, I still prefer Debian with systemd (though I'm checking Alpine nowadays) because I'm lazy for that case and systemd does everything for me.

path: 0 26360330 26362848 26363269, hotness: undefined, score: 3, children: 4
esc 3 points 2 days ago

Systemd is unix-way, systemd the manager is one program it comes with journal, but everything else under systemd project is either optional or separate utility that designed to work well with other utilities under systemd project, kind of like coreutils.

I understand your position I think it's empowering to do it your way. 👍🏽

path: 0 26360330 26362848 26363269 26364969, hotness: undefined, score: 3, children: 3
muhyb 0 points 2 days ago

Heh, there is a joke running as "systemdOS", they have too many optional utilities. :)

Thanks! I think I like simpler inits because I started using Linux before systemd (mostly OpenRC or SysVinit for me those days, but even though I used Ubuntu for quite some time I don't really know about Upstart).

path: 0 26360330 26362848 26363269 26364969 26366586, hotness: undefined, score: 0, children: 2
Notamoosen 2 points a day ago

I use a wide variety of OSs both personally and professionally. Personally, FreeBSD has become my favorite as I love Jails. Being able to have a minimal number of simple scripts to manage tasks makes troubleshooting easier and helps stability (IMO). I'm also currently experimenting with Void Linux, expecting OpenRC to be similar in some ways.

Professionally, I tend to go with Systemd-based OSs (Almalinux is my favorite when possible), as I often need to spin up servers quickly and offload management to others. I've found that with Systemd it's much easier to transfer this control as it is so ubiquitous now.

TL;DR: they're different tools and different approaches can work best for specific scenarios.

path: 0 26371412, hotness: undefined, score: 2, children: 4
SwooshBakery624 2 points a day ago

I'm also currently experimenting with Void Linux, expecting OpenRC to be similar in some ways.

Doesn't Void Linux use runit?

path: 0 26371412 26375764, hotness: undefined, score: 2, children: 3
01011 0 points 20 hours ago

By default it does.

path: 0 26371412 26375764 26378259, hotness: undefined, score: 0, children: 2
SwooshBakery624 0 points 19 hours ago

Is there an OpenRC package for Void? I thought that it only has runit and dinit in the official repo.

path: 0 26371412 26375764 26378259 26379110, hotness: undefined, score: 0, children: 1
Notamoosen 0 points 14 hours ago

I pulled it from Github. Full disclosure, the experiment isn't going well, but I'm determined to see how far I can take it.

path: 0 26371412 26375764 26378259 26379110 26382270, hotness: undefined, score: 0, children: 0
cecilkorik 2 points 2 days ago

I'm still stuck on systemd because I'm a lazy coward, but I know Dave from You Suck At Programming uses void linux to avoid the horrors of systemd and he is a reasonably down to earth fellow and seems fine with it.

Dacctal is even more particular and opinionated about it and used to use ArchLinux with OpenRC, but he said he was moving to Gentoo not sure if that ever happened or if he landed somewhere else.

So there's a few options.

path: 0 26365309, hotness: undefined, score: 2, children: 1
HubertManne 2 points a day ago

you sound like me. Would kinda like to avoid it but to lazy.

path: 0 26365309 26367117, hotness: undefined, score: 2, children: 0
HubertManne 1 point a day ago

im not wild about it but im lazy. I guess its more that I like the way the init system worked. honestly im kinda like that with things that start feeling more like a database than simple text files.

path: 0 26367092, hotness: undefined, score: 1, children: 0
Simulation6 1 point 13 hours ago

I don’t think systemd is an improvement.

path: 0 26383233, hotness: undefined, score: 1, children: 0
VeganCheesecake 0 points 2 days ago

I very heavily use systemd for containers and timers on my servers and main Desktop. I run Void on an X200, because trying to use thag Plattform today requires squeezing out every iota of performance improvements.

path: 0 26366164, hotness: undefined, score: 0, children: 0
socsa 0 points a day ago
path: 0 26367253, hotness: undefined, score: 0, children: 0
JamonBear 0 points 2 days ago

Void linux and Alpine are KISS (Keep It Simple, Stupid)

while Arch become KAOS (Keep Astonishingly Overcomplicated, Stupid)

path: 0 26363204, hotness: undefined, score: 0, children: 0
0x0 -4 points 2 days ago path: 0 26360302, hotness: undefined, score: -4, children: 0
linux
linux

@programming.dev

login for more options
15226
5353
3799

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

go to feed...