Out of all the Linux init systems out there, which one are you actually daily driving right now and why? ​Have you tried any others before your current one? What made you stick with it over the rest?

  • wheresmysurplusvalue [comrade/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    I’m not knowledgeable on this topic. I use systemd on basically all my devices because that’s what the OS of choice comes with. On my old laptop I installed GuixSD which uses Shepherd init - what can I say? It’s working, I don’t really have to interact with it.

    I’m interested in the proof of concept feature branch which promises to port Shepherd to Goblins.[1] I’m hoping that would offer new features for remotely stopping/starting services on other machines, so that e.g. a build machine can push updates to other machines and then restart the service, maybe without using ssh.

    Does systemd have a feature like that? On my NixOS machines, my laptop is the build server, and I use deploy-rs to push new package closures to my other machines and restart services automatically via ssh. I might try migrating this setup to clan.lol, but their stance on crypto and AI low-key pisses me off, so I might avoid it out of spite, even if it’s cool.

    One feature (I could make a separate post on this) which I like about systemd is the ability to make network namespaces for services. This must be possible without systemd because it’s relying on Linux kernel features, but that’s about where my understanding ends.


    1. ↩︎

  • hello_hello [undecided, comrade/them]@hexbear.netM
    link
    fedilink
    English
    arrow-up
    17
    ·
    7 days ago

    Most distributions use systemd at varying levels of buy-in (Fedora adopts newest systemd components for example). People dislike systemd either for one: Dbus dependency or two: they hate Lennart Poettering (maintainer of systemd) or three (most likely): they’re a chud (culture war).

    systemd is an tremendous piece of software that many people don’t take their time to learn. Poettering hosts a blog where he speaks about new features in systemd: https://0pointer.net/blog/

    Did you know systemd can be used to escalate privileges instead of using sudo/doas with run0 (https://mastodon.social/@daandemeyer/115565105032166177) or that it can statically configure network interfaces/links with systemd-networkd and function simultaneously with NetworkManager? Or that systemd can spawn OS containers via systemd-nspawn that can be used to run services/create software development environments (https://wiki.archlinux.org/title/Systemd for more info)

    • machinya [it/its, fae/faer]@hexbear.net
      link
      fedilink
      English
      arrow-up
      6
      ·
      6 days ago

      or four) your last two paragraphs are the exact reason (and in my experience, the most common one). most of those features should not be part of an init system but they are, slowly growing into everything and becoming a dependency into many different programs

      i won’t deny that there is an improvement if you are interested in your machine as only an appliance (for example, what is even the init system of android?) since you don’t want to ever care a bit about your base OS

      • hello_hello [undecided, comrade/them]@hexbear.netM
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 days ago

        I recommend reading Poettering’s myth-debunking post on common systemd criticisms (https://0pointer.de/blog/projects/the-biggest-myths.html). Some of these are even outdated (like the dbus one where current systemd development is focused around building a alternative varlink interface for IPC in addition to dbus).

        Most other init systems can achieve service paralleization and other goodies that systemd-init provides but that isn’t the whole point of systemd.

        The tagline for systemd is “systemd is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the rest of the system.” So it’s clearly not concerned with just being an init system and hasn’t been for a long time.

          • hello_hello [undecided, comrade/them]@hexbear.netM
            link
            fedilink
            English
            arrow-up
            1
            ·
            3 days ago

            But these components aren’t strictly part of systemd-init. networkd, systemd-boot, resolved, etc are all optional blocks. Its possible to use systemd-init and not buy into other features.

            Software does not depend on systemd they depend on features systemd provides (ex: GNOME and KDE simplifying their login/startup sequence by leveraging systemd-userdb)

  • PorkrollPosadist [he/him, they/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    13
    ·
    7 days ago

    I currently run systemd (on Gentoo, one of the few distros where you can actually choose an alternative). Been using Linux since before systemd existed, so I’ve used various kinds of SysV-style init systems before. I generally like systemd. Though it might be over-engineered for some use cases, desktop / laptop OSes are among the most complex, having to deal with events like lids closing, batteries draining, suspend / hibernate, etc. Parallelization and socket activation are very nice features.

    I would like to try GNU Shepherd (and the whole GUIX System Distribution in general) but I could never get it to boot on my machine (volume inside encrypted LVM)

  • mattdaemon [none/use name]@hexbear.net
    link
    fedilink
    English
    arrow-up
    6
    ·
    7 days ago

    I’m using runit on Void Linux because it seems systemd tries to do too much. I can be wrong here, but I can’t shake the feeling that it is another EEE device in the FOSS world.

    • invalidusernamelol [he/him]@hexbear.net
      link
      fedilink
      English
      arrow-up
      6
      ·
      7 days ago

      It’s done a lot of good and is easy to use, but I’m hoping that if EEE does start appearing, a fork will be made.

      It’s good to support alternatives, but I also understand the utility of a project like systemd.

      • mattdaemon [none/use name]@hexbear.net
        link
        fedilink
        English
        arrow-up
        5
        ·
        7 days ago

        It’s good to support alternatives, but I also understand the utility of a project like systemd.

        I can’t deny it. Standards are good. Having a (POSIX compliant) shell script run everywhere, for instance, is very useful.

        As is the case with another person in this thread, I’m also only using the init system to start, stop and check the status of a couple of services, so the unifying benefits of systemd don’t apply to me – but when something has a hard dependency on it without a reason other than “everyone else is using it, why aren’t you?” I get very suspicious of the alleged motives behind that particular choice of system init.

    • Rindogang [she/her]@hexbear.netOP
      link
      fedilink
      English
      arrow-up
      8
      ·
      7 days ago

      None actually! I was just reading online that people hate systemd because it’s a black box and destroys the Linux philosophy. I just wanted to see if the alternatives are actually worth trying… or if it’s just elitism

      • kleeon [he/him, he/him]@hexbear.net
        link
        fedilink
        English
        arrow-up
        10
        ·
        7 days ago

        It’s mostly just a handful of nerds having pointless arguments. 99.9% of people are not going to interact with the init system. So whatever init comes with your OS is probably fine, unless you need something super specific

        I just wanted to see if the alternatives are actually worth trying

        Probably not. Try them if you’re actually experiencing any problems with your current init system or if you want to learn new things

      • Default Username@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        5
        ·
        7 days ago

        It’s not a black box since it’s FOSS, but it is indeed monolithic.

        I still use systemd since I find it easy to work with and I’ve been using it for many years.

        It’s also worth noting that the Linux kernel itself is monolithic and does not exactly follow the UNIX philosophy, but I’m not aware of any stable microkernels with the same level of functionality as Linux.

  • lilypad [she/her, it/its]@hexbear.net
    link
    fedilink
    English
    arrow-up
    5
    ·
    7 days ago

    I dont like systemd because I haven’t learned it yet. I use the init system so rarely, and runit solves my needs. Up down and status are all I really use, and I can grep or tail logs, and systemd is just so much. Tbh I often find myself just running a program in tmux as a daemon if its not something I’ll use all the time.

    But, thats slowly changing. Have to use systemd for work for a single server, so I’ll learn it here sooner or later, and then I’ll probably move to something that uses systemd. Or I’ll say fuckit and run emacs as my init system.

  • I use systemd for most things. I’ve used openrc a lot, but it doesn’t have socket activation. rc-like init systems are nice for relatively small systems like routers. systemd really shines when things get more complicated, like a desktop or cloud server.