Why do they use Shell?

Sorry for bad English. English isn’t my native languange

  • Alex@lemmy.ml
    link
    fedilink
    arrow-up
    32
    arrow-down
    1
    ·
    6 months ago

    While shell based RC systems do offer flexibility they also have downsides including copy and paste leading to subtly different behaviour across units. Dependency resolution was also a bit of a hack on top of scripts to deal with concepts like run levels.

    The declarative approach of a proper configuration is a better and more scalable solution.

      • chalk46@fedia.io
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        6 months ago

        in systemd runlevels are basically just targets (it still sets rc?.d symlinks in /etc akaik) which have services they want and are wanted by, it’s the basis for dependency handling plus you get cool security features like syscall filtering, capability limits, user switching, etc

      • Alex@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        6 months ago

        You can end up with a lot of boiler plate code and with duplication you run the risk that one unit tweaks the boiler plate in a way that behaves differently. This isn’t insurmountable and a lot of rc scripts source a library of common functions shared between units. However from the point of view of the executor each unit is it’s own whole ball of shell script code.