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

all 43 comments

sorted by: hot top controversial new old
[–] 8 points 11 hours ago (1 child)

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.

  • source
  • hideshow 1 child comment
  • [–] 2 points 9 hours ago (1 child)

    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.

  • source
  • hideshow 1 child comment
  • [–] 6 points 13 hours 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.

  • source
  • [–] 38 points 23 hours ago (14 children)

    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.
  • source
  • hideshow 14 child comments
  • [–] 5 points 17 hours ago* (1 child)

    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`.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 15 hours 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.

  • source
  • parent
  • [–] 5 points 18 hours 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.

  • source
  • parent
  • [–] 1 point 17 hours ago* (last edited 14 hours ago) (8 children)

    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
    
  • source
  • parent
  • hideshow 8 child comments
  • [–] 4 points 17 hours ago* (last edited 16 hours ago) (7 children)

    Majority of these are separate utilities developed under systemd umbrella.

  • source
  • parent
  • hideshow 7 child comments
  • [–] 3 points 16 hours ago (6 children)

    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.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 3 points 15 hours ago (3 children)

    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?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 14 hours ago* (2 children)

    Your "separate utilities developed under systemd umbrella" claim was simply false.

    Your attempted retort was even more funny, since many coreutils implementations can actually literally be built into a single binary with many symlinks, with dispatch done based on arg0. It's even the preferred packaging option.

    There are a lot of interdependencies within those source trees. Nothing is self-contained. So the "itz just monorepo bro" is also false.

    they also overreaching and that’s THE point?

    You literally just listed multiple projects 🤭, where their collective surface is also nowhere close the the systemd forced hegemony. Maybe they should all unite and join the "umbrella".

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 13 hours ago (1 child)

    It wasn't because it's true. They are literally seprate utilities. Many is exactly two (i think) busybox and whatever the other one is called. For vast majority of people and in context it should be obvious that coreutils I was referring to is Gnu coreutils, you are being intentionally obtuse. There three I velieve mandatory parts that fall under systemd umbrella everything else is either optional or separate. Interdependency angle is disengenious at best, programs can and have depndencies, it's laughable that you think that they aren't separate utilities because they depend on other utility.

    Forced hegemony I'm dying lol.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 13 hours ago* (last edited 12 hours 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.

  • source
  • [–] 12 points 20 hours ago (1 child)

    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.

  • source
  • hideshow 1 child comment
  • [–] 2 points 14 hours 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.

  • source
  • [–] 3 points 15 hours ago (1 child)

    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.

  • source
  • hideshow 1 child comment
  • [–] 8 points 20 hours 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.

  • source
  • [–] 8 points 20 hours 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.

  • source
  • [–] 11 points 23 hours 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)

  • source
  • [–] 11 points 23 hours 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.

  • source
  • [–] 9 points 23 hours 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.

  • source
  • 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.

  • source
  • [–] 6 points 23 hours 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!

  • source
  • [–] 6 points 23 hours ago (6 children)

    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.

  • source
  • hideshow 6 child comments
  • [–] 3 points 18 hours ago (5 children)

    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.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 4 points 18 hours ago (4 children)

    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.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 16 hours ago (3 children)

    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. 👍🏽

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 14 hours ago (2 children)

    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).

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 13 hours ago (1 child)

    I too have started using linux some time before systemd adoption, but because my work involved a lot of system administration and infrastructure administration simplicity of sysv-style and bsd-style inits was detrimental to my mental health, so when systemd came it was something from another world, tickled me just right and documentation was insanely good and detailed, and it absolutely changed everything. There is also an obvious problem of people reductively thinking of systemd project as a whole as an init system, it isn't just that it's a system management system and it works great. Other systems just doesn't use what linux provides and instead reiterate on old designs.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 12 hours ago

    Yeah, I agree systemd makes things easier for sysadmins, and with every components of it to be fair. It's quite a huge project at this point, does way more things than a mere init system, I guess that's the argument of it being not so Unix-like. It's made specifically for Linux so it probably doesn't work on BSDs, though I have no idea honestly. Wayland was suppose to be the same and it works on some BSDs now apparently. Anyway, if I imagine system administration on bigscale, I think I would go with systemd as well.

  • source
  • parent
  • [–] 1 point 18 hours ago

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

    while Arch become KAOS (Keep Astonishingly Overcomplicated, Stupid)

  • source
  • [+] 0 points 13 hours ago
    [–] -4 points 23 hours ago

    You should try slackware, itll put hair on your chest

    http://www.slackware.com/~msimons/slackware/grfx/

    Systemd is insecure bloat at best.

  • source