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

  • TCB13@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    ·
    1 year 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@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      1 year 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
        arrow-up
        5
        ·
        edit-2
        1 year 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@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          1 year 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
            arrow-up
            2
            ·
            1 year 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.

    • hornedfiend@sopuli.xyz
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      I would be interested in using a distro that uses only systemd for everything(preferably arch based). Is there such a distro? I know it can be done manually,but I lack the time or patience to do it at this time.

        • hornedfiend@sopuli.xyz
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          TBH I like Debian, but am used to Arch and plasma. I like the fact that Debian sticks to default DEs with no customizations. If I ever get tired of Arch (probably not) Debian is next on the list.

    • Railison@aussie.zone
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      The article you linked is really nifty! Are there any distros that are using all or nearly all of the features that systemd provides?

      • TCB13@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        1 year ago

        Yes, I wrote the article as a collections of thoughts and links of what I’ve learn about systemd over the years. The reality is that when Debian moved to systemd I wasn’t that happy but after learning all it can do and the way it works I see it was the best move.