• Broadfern@lemmy.world
      link
      fedilink
      English
      arrow-up
      41
      ·
      14 hours ago

      Why are we afraid of systemd again? /gen

      I came in late w/ arch-based systems so legitimately don’t know the lore.

      • Caveman@lemmy.world
        link
        fedilink
        arrow-up
        6
        ·
        6 hours ago

        Systemd is controlled by redhat and is a very large part of the Linux stack. It’s become so universal that a lot random stuff won’t work unless the system has systemd.

        Compared to X11 to wayland or pulseaudio to pipewire it’s a lot hard to now replace an init system and with that in the hands of redhat which is for profit is not a nice thought.

        But you know, fuck it, having systemd is a massive headache for people making distros that’s just gone. Everyone is using the same thing and things just work so people aren’t really complaining. If redhat tries some shenanigans there’ll always be a fork or a systemd compatible init system or even whatever Alpine is using now that’ll take it’s place.

      • rtxn@lemmy.worldM
        link
        fedilink
        arrow-up
        69
        arrow-down
        2
        ·
        edit-2
        13 hours ago

        Off the top of my head, in no particular order:

        • Systemd and its components are responsible for too many essential system functions. Init, services, mounts, timers, logging, network config, hostname, DNS resolution, locale, devices, home directories, boot, NTP sync, and I’m sure there are others, can be handled by systemd or one of its components.
        • Systemd violates the UNIX philosophy of “do one thing and do it well”. Systemd is a complex solution to a complex problem: this thread has several comments by a former Arch Linux maintainer that explains why they’ve switched to systemd, and why the earlier method of using single initscripts was unsustainable.
        • It is owned and maintained by Red Hat, known for its many controversies.
        • Some people just don’t like modern things and think that the Linux ecosystem peaked in the 1980s.

        Most (though not all) of the popular complaints are completely unreasonable. Those people usually see themselves as moral and righteous and expect the world at large to follow their personal creed. I especially consider the UNIX philosophy to be outdated, and strict adherence to it to be an obstacle for modern apps and systems.

        I have some issues with systemd, and I don’t like that one for-profit company has such a massive influence over the entire Linux ecosystem, but I have to acknowledge that it works, it works well enough to counter my personal issues, and that the people whose opinion matters the most (specifically Debian and Arch maintainers) chose it for a good reason.

        • caseyweederman@lemmy.ca
          link
          fedilink
          arrow-up
          2
          ·
          6 hours ago

          systemd DOES do one thing really well. Too well. It’s a service manager.
          People noticed that it works really well as a framework for their stuff and started plugging all the other stuff in your first bullet point into it. And that also worked really well.

        • N.E.P.T.R@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          17
          ·
          edit-2
          10 hours ago

          My personal reasons for disliking systemd (note: I still use systemd):

          • The lead developer of systemd has said multiple times that we should be fine with break POSIX if it means developing faster.
          • systemd has massive attack surface, making it easier to exploit and result in privilege escalation. It is a highly complex and large codebase that really shouldnt be given the trust of PID 0
          • systemd is not portable or modular.
          • It only just barely got musl support. Hope to see it improve in the future.
          • systemd is much slower than other inits (eg. dinit, s6, openrc)
          • systemd being the go-to init encourages developers to more heavily depend on it, making it difficult for distros without systemd

          The biggest feature I like about systemd is run0, though I wish it was a drop in replacement for sudo. Secondly, I do like that services can be sandboxed.

          • nesc@lemmy.cafe
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            1
            ·
            9 hours ago
            • It’s developed for linux and there is literally 0 linux distributions that are POSIX-compliant, also standard is dead.
            • It doesn’t, also moving it to any other PID won’t make any difference.
            • It is modular (IIRC there is only three mandatory parts) and portable.
            • Was completely on musl side (also musl is as much not portable and modular as systemd 🙃 and in every practical way worse than glibc).
            • It’s not an init, nor does it present itself like this. Do you have any benchmarks that show this slowness when doing comparable operations?
            • Why exactly depending on a stable system component is a bad thing? Distros without systemd are moving against the stream, obviously there going to be some problems.
        • 2910000@lemmy.world
          link
          fedilink
          arrow-up
          12
          arrow-down
          1
          ·
          11 hours ago

          Those people usually see themselves as moral and righteous and expect the world at large to follow their personal creed.

          If they don’t like systemd but are forced to use it for some reason, I can understand why they might have some negative feelings

          Once I switched to a distro with OpenRC, I stopped feeling the need to argue about systemd

          • nesc@lemmy.cafe
            link
            fedilink
            English
            arrow-up
            1
            ·
            8 hours ago

            You are forced to use a lot of things bit systemd is where you draw a line? 😺

            • 2910000@lemmy.world
              link
              fedilink
              arrow-up
              4
              ·
              7 hours ago

              I see from your other comment in the thread that you’re enthusiastic about systemd, and that’s great.
              I’m glad we inhabit a software ecosystem broad enough that we can both be happy

              • nesc@lemmy.cafe
                link
                fedilink
                English
                arrow-up
                1
                ·
                5 hours ago

                I’m not enthusiastic about it, I’m just old enough to remeber how bad were good old times before systemd and a bit miffed how old and untrue statements about it are perpetuated.

        • mech@feddit.org
          link
          fedilink
          arrow-up
          17
          arrow-down
          1
          ·
          13 hours ago

          Some people just don’t like modern things and think that the Linux ecosystem peaked in the 1980s.

          Linux was released in 1991.

          • rtxn@lemmy.worldM
            link
            fedilink
            arrow-up
            37
            ·
            edit-2
            12 hours ago

            It’s called a hyperbole.

            (edit) But, honestly, it’s still kind of accurate. Many of the most significant software suites that define the Linux ecosystem in more recent decades were written in the 80s or earlier. X (the display protocol) was released in 1984, and X11 in 1987. GNU Emacs was released in 1985. Vi, in 1976. UNIX System V, from which sysvinit and compatible init systems were adopted, was released in 1983. It’s not a stretch to say that certain people want to regress to the 1980s state, even if the kernel wasn’t around.

            • nesc@lemmy.cafe
              link
              fedilink
              English
              arrow-up
              10
              ·
              edit-2
              8 hours ago

              Funny thing is, nothing in the list adheres to the so called unix philosophy.

          • zloubida@sh.itjust.works
            link
            fedilink
            arrow-up
            18
            ·
            12 hours ago

            It’s a little known fact that the first answer to Linus’ first message announcing his new OS was “You stupid thing, why did you created it? It ruined it! Linux was better before!”.

      • Barbarian@sh.itjust.works
        link
        fedilink
        arrow-up
        26
        arrow-down
        1
        ·
        14 hours ago

        “You can’t have programs that do multiple things! Any program that is multi-use is ebil. Standardized syntax and functionality between different related systems? NO! PROGRAM DO ONE THING!”

        • The_Decryptor@aussie.zone
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          8 hours ago

          A lot of this is also a post-hoc justification, UNIX didn’t get shared libraries until some point in the 80s (Can’t find an exact year), so before that your options were to either statically compile the needed functionality into your program or keep it as an entirely separate program and call out to that.

          It’s a perfect mix, in a time where enterprise storage was measured in single digit megabytes, and the only efficient way to created shared functionality was via separate programs, and you’ve got an OS that happens to have “easily pass data between programs” as a core paradigm.

          And now people invoke it to attack an init program for also monitoring the programs it starts and not just spawning them.