I have seen so many times that systemd is insecure, bloated, etc. So i wonder ¿does it worth to switch to another init system?

  • @dack@lemmy.world
    link
    fedilink
    810 months ago

    I don’t see any fundamental reason why systemd would be insecure. If anything, I would expect it to be less prone to security bugs than the conglomerations of shell scripts that used to be used for init systems.

    The bloated argument seems to mostly come from people who don’t understand systemd init is a separate thing from all the other systemd components. You can use just the init part and not the rest if you want. Also, systemd performs way better than the old init systems anyway. I suspect many of the those complaining online didn’t really have first hand experience with the old init systems.

    If a different init suits your needs better, then sure go with it. But for the vast majority of typical desktop/server stuff, systemd is probably the best option. That’s why most distributions use it.

    • gian
      link
      fedilink
      English
      110 months ago

      I don’t see any fundamental reason why systemd would be insecure.

      <sarcasm>You mean aside how the author answer to CVEs, right ?</sarcasm>

      If anything, I would expect it to be less prone to security bugs than the conglomerations of shell scripts that used to be used for init systems.

      Not sure. In the end the shell script were just an easy and consistent way to start/stop programs. If the programs were secure (read: checked the input and sanitize it, did the check for permissions and so on) there is not a big difference.

      Also, systemd performs way better than the old init systems anyway.

      In what regards ? Boot faster ? Fine, but on a server it does not mean anything, a server does not reboot that often; for a desktop it not that the 5 seconds you gain are a fundamental gain.

      One problem I see is with the logs: it is true that the format is documented, but a text format is always readable while a binary format… (been here, done that 🤬 )

      • @TCB13@lemmy.world
        link
        fedilink
        English
        010 months ago

        In what regards ? Boot faster ? Fine, but on a server it does not mean anything, a server does not reboot that often; for a desktop it not that the 5 seconds you gain are a fundamental gain.

        Are you sure it doesn’t mean anything? It means to a LOT of people.

        Anyways are you aware of systemd-analyze and that you can profile your boot and services even with graphical representations? Have a look at https://www.apertis.org/guides/boot_optimisation/ and https://opensource.com/article/20/9/systemd-startup-configuration

        • gian
          link
          fedilink
          English
          110 months ago

          Are you sure it doesn’t mean anything? It means to a LOT of people.

          Fine, still not understanding why something that I should run once in a while (on a server) or it is not that critical seems to be so important. Look, I had way bigger gain moving from a HDD to a SDD than switching to Systemd from the old init.

          I refuse to belive that for a desktop user a 5 seconds longer boot time is that important. I could understand on a server where, if you work with it, you can have fines for downtime but even in this case it is a thing that could be handled in different ways.

          Anyways are you aware of systemd-analyze and that you can profile your boot and services even with graphical representations? Have a look at https://www.apertis.org/guides/boot_optimisation/ and https://opensource.com/article/20/9/systemd-startup-configuration

          Good, but I am not interested in booting my laptop 5 second faster and for my server I have not fines if it start in 20 seconds instead of 10 😁

          • @TCB13@lemmy.world
            link
            fedilink
            English
            010 months ago

            systemd-analyze isn’t only about reducing your boot time by 5 seconds, it’s about when you’ve problems knowing exactly what is happening and when and also about having a clear view of dependencies between services.

            • gian
              link
              fedilink
              English
              110 months ago

              At this point I am not that interested in these aspects, for what I need I am ok if the system boot and I can work 😀

              But thanks anyway, it is a good thing to know if I ever need it.

              • @TCB13@lemmy.world
                link
                fedilink
                210 months ago

                If that’s the case you can simply run systemd configured as it comes with most distritos and enjoy.

      • @dack@lemmy.world
        link
        fedilink
        110 months ago

        I agree those CVE responses are not great. Those are from quite a few years ago though. Has their handling of CVEs improved since?

        Boot times are not that big of a deal to me either, but some people seem to care about it a lot.

        I’ve never personally had any problems with binary logs. You could always forward to a different logging daemon if that’s a concern.

        • gian
          link
          fedilink
          English
          210 months ago

          I’ve never personally had any problems with binary logs.

          I had it and I am sure that I could have solved the problem faster if I could have solved it faster if I did not needed to first understand how to access the logs on a damaged system.

          You could always forward to a different logging daemon if that’s a concern.

          This does not solve the problem, it only move it to somewhere else.

  • @psycho_driver@lemmy.world
    link
    fedilink
    1110 months ago

    The biggest benefit would be to learn more about how unix systems work from the ground up. I’d say if you’ve had no problems ever with systemd then just stick to it. My linux usage predates systemd (by a lot) and I just want options kept open so I’m never forced onto it against my will.

  • @patatahooligan@lemmy.world
    link
    fedilink
    9
    edit-2
    10 months ago

    systemd is insecure, bloated, etc

    [Citation needed]

    If a distro that doesn’t use systemd ends up booting much faster or being much easier to configure, maybe those are features you care about. But switching away from systemd in this case is merely an implementation detail. What you’re really doing is moving from a distro to another one that serves you better.

    Otherwise, the choice of init system has very little impact to the average user. Maybe it’s worth it to switch init systems if you hate the syntax of unit files and/or the interface of systemctl/journalctl and you use them often enough to warrant the effort. The people who want to use alternatives to systemd without having such a practical issue with it are doing so for philosophical reasons.

      • @patatahooligan@lemmy.world
        link
        fedilink
        110 months ago

        These are terrible sources. 3 random CVEs and opinions of randoms on the internet. The “sources” conflate arguments about systemd as an init system with the non-init parts and with criticisms of Poettering, and a lot of it is “this is bad” with no argument or, worse, incorrect arguments. If there is anything in there that actually proves something, link directly to it. I’m not going to shift through mountains of garbage to find it.

  • @TCB13@lemmy.world
    link
    fedilink
    English
    910 months ago

    Systemd vs anything else is mostly controversy, the outlet of a bunch of people that don’t want Linux to evolve, become better and have more flexibility because it violates the UNIX philosophy and/or it is backed by big corp. Systemd was made to tackle a bunch of issues with poorly integrated tools and old architectures that aren’t as good as they used to be. If you look at other operating systems. Even Apple has a better service manager (launchd) than what Linux had with init and friends.

    Systemd is incredibly versatile and most people are unaware of its full potential. Apart from the obvious - start services - it can also run most of a base system with features such as networking (IPv4+IPV6, PBR), NTP, Timers (cron replacement), secure DNS resolutions, isolate processes, setup basic firewalls, port forwarding, centralize logging (in an easy way to query and read), monitor and restart services, detect hardware changes and react to them, mount filesystems, listen for connections in sockets and launch programs to handle incoming data, become your bootloader and… even run full fledged containers both privileged and non-privileged containers. Read this for more details: https://tadeubento.com/2023/systemd-hidden-gems-for-a-better-linux/

    The question isn’t “what is the benefit of removing this init system”, it is “what I’ll be missing if I remove it”. Although it is possible to do all the above without Systemd, you’ll end up with a lot of small integration pains and dozens of processes and different tools all wasting resources.

    • t0m5k1
      link
      fedilink
      410 months ago

      That list of “features” never needed to be replaced by systemd and for the most part are provided by the other init offerings.

      As for logging you may find yourself one with a system using systemd that has faced an error and cannot boot good luck reading the binary journal it makes, yes these entries can be pushed out to text file or syslog but if systemd falls over hard it will log to the default binary journal and you’ll need to use another install with systemd to run journalctl --file /path/to/mounted/journal which in an emergency is a true PITA.

      It is not an outlet for those who you choose to espouse as “People who don’t want linux to evolve” far from it most of them just want systemd to stop trying to replace things that are not broken and for other projects to stop having it as a hard dependency. Yes it is modular, yes these can be disabled but it has so many tentacles that it is clear the intentions are wider than just being an init.

      What’s wrong with ip, iproute2, iptables/nftables, ufw, firewalld, ntp, dnscrypt, privoxy, dnsmasq, openresolve, crond, sudo, mount, syslog-ng?

      Are they somehow obsolete now?

      If you want a basic bootloader your UEFI has one built in and/or you can boot the kernel directly with efistub, systemd-boot is so basic it’s pointless to the point that an unconfigured install of refind is a truckload better.

      I get that this is a hot topic but waaay too many people are just adding pointless opinion and toxic opinion into this debate that doesn’t help anyone make what they want is a decent informed choice and tbh when I see Gnome make a hard dependency of systemd it makes me think either systemd is doing too much, is not modular enough, devs got lazy or all of the above.

      And a final FYI I use systemd and have disabled much of it but can’t uninstall the parts I don’t need/want.

      • @TCB13@lemmy.world
        link
        fedilink
        English
        -1
        edit-2
        10 months ago

        That list of “features” never needed to be replaced by systemd and for the most part are provided by the other init offerings.

        This is plain wrong. Init wasn’t able to properly start things in parallel and monitor them. With systemd you can even create a visual representation graph of your boot services that you can use to identify what is taking more time and when things are happening.

        What’s wrong with ip, iproute2, iptables/nftables, ufw, firewalld, ntp, dnscrypt, privoxy, dnsmasq, openresolve, crond, sudo, mount, syslog-ng?

        What’s wrong? Too many tools, way too fragmented and poorly integrated. It is very, very easy to get into trouble if you simply setup a dual stack system with IPv6-PD with those tools. With systemd it all works of the box with simples configuration files and its way more intuitive. For eg. cron is a mess, systemd timers share the unit config format which is way better and more scalable.

        I use systemd and have disabled much of it

        So you are saying you could just have a very small footprint and have a very lightweight system that is very solid but instead of choose to go with a bunch of different tools? I’ve leveraged systemd to be able to have fully working system on devices with 256MB of RAM while still having RAM for other important applications.

        • t0m5k1
          link
          fedilink
          310 months ago

          Here’s a handy chart for you

          https://wiki.gentoo.org/wiki/Comparison_of_init_systems

          As you can see many have the ability to start services in parallel. Some script magic with graphviz will also do similar to analyse blame.

          What’s wrong? Too many tools, way too fragmented and poorly integrated. It is very, very easy to get into trouble if you simply setup a dual stack system with IPv6-PD with those tools. With systemd it all works of the box with simples configuration files and its way more intuitive. For eg. cron is a mess, systemd timers share the unit config format which is way better and more scalable.

          Do you honestly beloved thie mental gymnastics your getting into just to prove your point, go back to windows. Lol

          Well done on using systemd how you wish, now move on and let others use it how they wish or remove it.

          • @TCB13@lemmy.world
            link
            fedilink
            -110 months ago

            It’s not gymnastics, it’s years and years of init bullshit and fragmentation / lack of integration related issues that were solved by systemd.

            • t0m5k1
              link
              fedilink
              110 months ago

              Keep telling yourself that, meanwhile we’ll all see your obvious dislike of of general userland tools.

              • @TCB13@lemmy.world
                link
                fedilink
                -110 months ago

                I don’t dislike them, I never disliked them… I simply came to like systemd’s efficiency more.

  • @KindaABigDyl@programming.dev
    link
    fedilink
    14
    edit-2
    10 months ago

    Systemd is a large piece of software. There are ways to make it smaller and disable various modules for it, but usually by default it’s very heavy.

    With a traditional init system, it’s just an init system, and you’ll use other other programs to do the other things. This basically means a chain of interconnected bash scripts. Perhaps you’ll run into some integration issues. Probably not though. It’ll be mostly the same.

    There is no real advantage to this from a user perspective beyond a philosophical one. Systemd works quite well at doing the things it tries to do, but it’s the Unix philosophy to “do one thing and do it well,” and some people care very deeply that systemd does not follow their interpretation of that philosophy, and that’s certainly a fair reason to not use it.

    However, if you’re not having problems with using systemd, I’d say don’t bother switching.

  • @sederx@programming.dev
    link
    fedilink
    1810 months ago

    the only reason to stick to one of those init systems is that you already know everything about them and you dont want to relearn a bunch of stuff.

    other than that i see 0 benefits to skip systemd

  • CyclohexaneM
    link
    fedilink
    1210 months ago

    If you have to ask, no.

    I say this as someone who doesn’t use systemd. There’s not much benefit to it. It’s cool to do if you’re an enthusiast or experimentalist, but from a practical stand point, systemd is most practical.

    I use gentoo with openRC btw.

  • @ElPresidente@lemmy.ml
    link
    fedilink
    210 months ago

    If you have to ask, the benefits of another init system than systemd starts and stops at “you look smart.” I like runit a lot and would even recommend Void Linux as a daily driver if that’s your speed, but honestly anyone who actually was around before systemd knew how much sysvinit and co sucked.

  • @StrangeAstronomer@lemmy.ml
    link
    fedilink
    210 months ago

    If you want to try living without systemd, take a look at voidlinux - it uses runit instead. I made the jump from Fedora recently and I love it! Linux is once again the unix system I loved for 40+ years - it’s rational, easy to understand and just works! As an added bonus, I do believe I get about 50% more life out of the battery (less busy-work going on?). What do I miss from systemd? Nothing really.

    • @aerique@lemmy.ml
      link
      fedilink
      English
      210 months ago

      Before switching to Guix I ran Void Linux for years. It’s a very nice, light and quick distribution. The BSD of Linux if you will.

      Can very much recommend it.

      The things with init systems is as an average user you don’t really realize they’re there. Whether it’s SystemD or something else and I wouldn’t worry too much about them.

  • @Red1C3@lemmy.world
    link
    fedilink
    210 months ago

    Not sure about the security, but recently I’ve tried runit on a very old laptop with HDD and it took waaay much less to fully boot up than a clean Arch32 with systemd