I am not the author.

  • beleza pura
    link
    fedilink
    227 months ago

    at least this guy recognizes systemd isn’t (just) an init system

    “it attempts to do more” yeah. that’s the point. that’s a good thing. a single source of truth for system background services. background systems used to be a fucking mess and then systemd fixed it. this is why it is the de facto pid 1

    i wish people just quit whining

    • @[email protected]
      link
      fedilink
      12
      edit-2
      7 months ago

      I think if systemd were documented in a more consumable format (the man pages need better organization IMO) more people would see how powerful it is. Mounting directories with BindPath, and BindPathRO, Limiting systemcalls, socket activation and cgroup integration, and nspawn containers are features I can’t live without.

      I feel like a lot of people that get attached to the “It tries to do everything and it’s against the unix philosophy” argument might change their minds when they see the tradeoffs. It has its problems for sure, but you get a lot out of it.

      These days I don’t even use docker containers for running services. I just put it in a systemd service and lock it down as tightly as I can.

      • @[email protected]
        link
        fedilink
        17 months ago

        It’s powerfulness IS the problem. Some parts of systemd are great. Some are meh! Some really suck. But because it’s monolithic, you can’t take the good bits and replace the bad. You have to take it all or nothing.

        That’s the problem. Its architecture is offensively bad.

        • @[email protected]
          link
          fedilink
          37 months ago

          That’s just completely wrong. Just try e.g. replacing the journald backend with the old text based syslog, and not only will you discover that is possible (which directly contradicts what you just said), it’s also easy!

      • Possibly linux
        link
        fedilink
        English
        17 months ago

        It is pretty well documented. Just look it up online and you will find plenty of articles

        • @[email protected]
          link
          fedilink
          87 months ago

          You’ll find blog spam and ai slop if you look it up online. Systemd’s website/man pages should be the resource that brings me up to speed.

          I had to read about run0 and other upcoming systemd features from Lennart’s Mastodon which I’m not a fan of either. These kinds of things should be on the systemd website itself.

      • beleza pura
        link
        fedilink
        17 months ago

        i don’t know much about openrc, but doesn’t it use sysvinit? one of the major advantages of systemd is ditching sysvinit

  • @[email protected]
    link
    fedilink
    227 months ago

    The reason why systemd has become so prevalent is not that it has been accepted by the community. It’s that it has manpower. It is backed up by open source software companies that can provide much more manpower than developers like myself working on free software on their own time.

    TLDR

      • @[email protected]
        link
        fedilink
        157 months ago

        I mean, what is his point? We should have worse software because then the devs are volunteers?

        Is Linux now supposed to work like early Olympics?

          • @[email protected]
            link
            fedilink
            English
            2
            edit-2
            7 months ago

            SystemD is not an init system. It provides that functionality, but processes have more life cycle steps than just initialize.

            When you accept that, you realise that you cannot compare them.

            SystemD provides functionality that they don’t. Of course those that refuse to consider this will just claim it’s bloat. To some DE’s are bloat.

            • @[email protected]
              link
              fedilink
              English
              3
              edit-2
              7 months ago

              Systemd is no longer just an init system, but the project began with Poettering’s dislike of other init systems. I use systemd and I do not like its performance (too slow in some cases).

              The tragedy is that being an end-user, it is ridiculously hard to replace systemd on “regular” distros. Admittedly, Debian can be moved back to sysVinit without backbreaking work, but the fact is that distros don’t seem to have any intention of providing choice, making applications assume that systemd exists wherever they will be installed. That is the complaint I have against the Linux community

              • @[email protected]
                link
                fedilink
                English
                3
                edit-2
                7 months ago

                There is Alpine and Void Linux which are commonly known of. Plus more: https://en.m.wikipedia.org/wiki/Category:Linux_distributions_without_systemd

                Most distros independently decided that SystemD was superior. They had a choice and they chose. Distros are often maintained by volunteers in their free time. Same with software that depends on it. Expecting them to provide poor irrelevant choices is not how open source works. You’re passing on your backbreaking work onto other people. If you want another option, you give your time to make it happen.

            • @[email protected]
              link
              fedilink
              English
              17 months ago

              Two questions:

              • do you admit that, comparing only its functionalities as an init system, systemd provides no benefits over alternatives?
              • what non-init functionalities does systemd provide, which are necessary and beats competition from other software that provides those features?

              Sure, the alternative init systems don’t provide non init functionalities, but other software probably does.

              • @[email protected]
                link
                fedilink
                English
                1
                edit-2
                7 months ago
                1. no. Processes have a life cycle other than init. Fire and forget with bash scripts is backwards.

                2. I am no expert on this and could not do this answer justice. A quick search will provide a better and more detailed answer. That is if you are willing to consider that SystemD provides benefits. The way you wrote your question gives me vibes that you do not want to, so this debate would be fruitless.

                If you’re genuinely curious Benno Rice has a great talk on SystemD: https://m.youtube.com/watch?v=o_AIw9bGogo&pp=2AHFBpACAQ%3D%3D

        • @[email protected]
          link
          fedilink
          English
          17 months ago

          Not how I understood it. Rather, there are alternatives that have potential to be better than systemd, but systemd has the unfair advantage of receiving the funding and manpower.

          If alternatives had equal manpower, they may have had better success than systemd.

    • @[email protected]
      link
      fedilink
      English
      27 months ago

      Sure but that is most open source programs. It is not the hacker doing it in their spare time. The majority of open source devs are working for a company getting paid to program it. People have to eat.

  • data1701d (He/Him)
    link
    fedilink
    English
    207 months ago

    Honestly, it’s 2024, and as a result, this post gives me a bit of a chuckle. For most purposes, systemd has won, and honestly, I hardly even notice. (Granted, I have only used Linux during the systemd era.) If systemd actually interferes with one’s needs on a technological (not just a vague philosophical) level, little stops them from seeking out a way to use another init system.

    Has it gotten more difficult to use other init systems these days? Yes. However, by the time a person has a problem where systemd can’t do the job and have to use a different init system, they’re probably more than competent enough to create custom services. I also feel like in terms of software support, only the most idiotic, worthless projects have no possible way to port hem to another init system.

      • @[email protected]
        link
        fedilink
        27 months ago

        The only thing I liked was arch’s pretty boot sequence … which I stared at for a while because SysV init was so slow.

    • Possibly linux
      link
      fedilink
      English
      67 months ago

      Busybox init and openRC seem to be the alternatives. They are both useful in embedded contexts where you don’t need much just a program to start a service

      • data1701d (He/Him)
        link
        fedilink
        English
        67 months ago

        I may have misconveyed my meaning. I wasn’t necessarily arguing that systemd has no viable alternatives. I meant to say that where systemd doesn’t work (embedded systems being a good example), chances are the lack of support won’t be a burden for a reasonably skilled user.

  • Axum
    link
    fedilink
    167 months ago

    It’s 2024, I think we can move on from cringe systemd hating.

    This is like being still angry that Windows 7 is heavier than windows XP.

    • T (they/she)OP
      link
      fedilink
      27 months ago

      I didn’t understand why people were averse to systemd so after reading at least it was informative for me

      • @[email protected]
        link
        fedilink
        English
        1
        edit-2
        7 months ago

        From my own experience it was more about being a solution in search of a problem. I see some comments about how the old init system was so horribly broken, and yet the reality was it worked perfectly fine for all but some very niche situations. The only advantage I have ever seen with systemd is that it’s very good at multitasking the startup/shutdown processes, but that certainly wasn’t the case when it first arrived. For example I had a raspberry pi that booted in 15 seconds, and when I loaded a new image with systemd it took close to two minutes to boot. And there were quite a lot of problems like that, which is why people were so aggravated when distro admins asked the community for their thoughts on switching to systemd and then changed the distros anyway. This also touches on the perception that the “community” accepted it and moved on – no, systemd was pushed on the community despite numerous problems and critical feedback.

        But we’re here now, systemd has improved, and we can only hope that some day all the broken bits get fixed. Personally I’m still annoyed that it took me almost a week to get static IPs set up on all the NICs for a new firewall because despite the whole “predictable names” thing they still kept moving around depending on if I did a soft or hard reset. Configuring the cards under udev took less than a minute and worked consistently but someone decided it was time to break that I guess.

        • Possibly linux
          link
          fedilink
          English
          1
          edit-2
          7 months ago

          It also offers a lot of modern features like sandboxing and close tracking of processes. It is also nice to have dynamic resource allocation

      • @[email protected]
        link
        fedilink
        17 months ago

        Then maybe you can tell me what “attempting to do more” means, because the author of the article certainly didn’t. Or why that’s bad. My only take away is that the author thinks the system should facilitate the running of applications and just get out of their way already. But that sounds a lot like building a road network and then failing to install traffic controls because the DOT should just stay out of the way of traffic.

  • @[email protected]
    link
    fedilink
    English
    14
    edit-2
    7 months ago

    I’ve heard of s6 and runit alongside OpenRC as alternatives. I believe distros should make the init system agnostic of the rest of the software and not force users to stick with what they force them to do. Systemd is really slow.

    What infuriates me more than distros playing the heavy hand in adopting it, are applications depending on it (I’M LOOKING AT YOU GNOME). This is completely unacceptable. If I find an application that doesn’t work without systemd, I either compile it to see if it will work otherwise or give up on it.

    Maybe my view of systemd will change if I delete all of the other binaries and just use the init module. Who the fuck decided to put a fucking log in manager with the init system??? This is the feature bloat that I’m talking about and I hate it

    • beleza pura
      link
      fedilink
      17 months ago

      systemd is a system daemon, not an init system

      also, why should applications avoid depending on useful features?

  • SavvyWolf
    link
    fedilink
    English
    107 months ago

    Praise be the Unix Philosophy. May all your projects do precisely one thing, and let they not be tempted by forbidden fruit and do two things.

    • Magiilaro
      link
      fedilink
      English
      27 months ago

      You do know that systemd is modular and every part of it does only one thing? Don’t see a real conflict with the Unix Philosphy

      • SavvyWolf
        link
        fedilink
        English
        17 months ago

        Yeah, was more poking fun of people who cling to the while Unix Philosophy stuff like it’s some unwritten rule that must be followed.

        I honestly think there’s tons of Linux software that could be broadly defined as “multiple things”.

        Even looking at the links other responders have posted, I even think a lot of linux software is made up of components which are tightly coupled together.

        • @[email protected]
          link
          fedilink
          English
          17 months ago

          one example of a program that did multiple things is sfdisk, it used to make the kernel reload the new partition table but that was not its main job, only changing them. the extra functionality moved to blockdev which is nearer to doing such as it also triggers flushing buffers and i think setting read/write status. i am fully ok with that change as it removes code from a program that doesn’t need it to another that already does similar things so that other partitioning programs like gdisk fdisk or parted could go the same way so that maintainers of the reread-partition-table things can concentrate on one solution at one place (in userspace) instead of opening issues at an unknown number of projects that also alter partitioning. the “do one thing” paradigma is good for developers who maintain the code and i pretty much appreciate their work. if you are up to only want one-day-flies that either die or take huge amounts of resources only for keeping them alive (image of a mayfly in an emergency room and a heart-lung machine attached while chirurgs rushing around trying to enlenghten its life a few seconds more) then you are good with monolithic tools that could hardly be maintained and suck allday as no one wants to fix any bugs or cannot without creating new ones due to the tightened dependency hell it has internally.

          the point is not a lack of examples doing wrong but where one wants to be heading towards.

    • mub
      link
      fedilink
      27 months ago

      Me too. I enjoy the @myservername thing as it lets me have one file to maintain lots of servers (Minecraft in my case). I’m sure someone will say other init systems can do the same, but I learnt this one and I like it.

  • @[email protected]
    link
    fedilink
    English
    57 months ago

    This article sounds a decade old.

    systemd attempts to cover more ground instead of less

    Have I got news for the author about the kernel he seems to have no issue with. (Note: I love the Linux kernel, but being a monolith, it certainly covers more ground instead of less, so the author’s point is already flawed unless he wants to go all Tanenbaum on the kernel, too)

  • kbal
    link
    fedilink
    57 months ago

    Maybe some day after we’re done replacing X11 people will collectively find the will to do something about systemd before it gets too much worse. I wonder which will be easier: Throw it all out and start again, or split it up into parts of more manageable size with well-defined interfaces between them.

    • Possibly linux
      link
      fedilink
      English
      17 months ago

      I’m pretty sure most people aren’t even aware of systemd let along its alternatives. Linux and systemd go together like cake and ice cream. It is the standard.

    • @[email protected]
      link
      fedilink
      27 months ago

      Yeah, but we are the real™ Linux community, not like those splitters from the community of Linux!

  • @[email protected]
    link
    fedilink
    English
    27 months ago

    I’m pretty sure everyone has settled by now, Personally I hate systemd. It’s slow, relatively resource intensive, poorly designed in many aspects.

    but as an init and service manager it’s the best. Though I do have to say dinit does get pretty close for me now.

    I personally use Arch on my desktop and artix on my laptop. I want Systemd to die just as much as the next Systemd hater, but unfortunately I don’t believe we have anything better yet.

      • @[email protected]
        link
        fedilink
        English
        47 months ago

        can’t say I have experienced that. I use a myriad of modern but lower end systems and stuff like dinit still uses less resources and is in turn better for the speed and responsiveness of my systems

        • Possibly linux
          link
          fedilink
          English
          37 months ago

          I’ve run systemd on a system with 32mb of memory and a Pentium II. It was not the bottle neck and it booted right up.

  • wuphysics87
    link
    fedilink
    27 months ago

    Uh oh here we go again… spaces are better than tabs! Fight me! The shirt is coming off! Granular white space beats fewer character per file!

  • exu
    link
    fedilink
    English
    27 months ago

    I wonder when the year of people shut up about systemd will be