‹ BackHN Continuity

Thread

Systemd is a suite of basic building blocks

37 points · 71 comments · Bluestein

  1. seany · · focus · HN ↗
    We had reasonable building blocks before systemd...
    1. IshKebab · · focus · HN ↗
      A bunch of barely working duck-taped Bash scripts? Hardly reasonable.
      1. hnlmorg · · focus · HN ↗
        You’d be surprised just how often systemd calls bash scripts.
      2. kjs3 · · focus · HN ↗
        You might have done barely working duck-taped Bash scripts; not eveyone who calls themself a 'system admin' is competent. But actual professionals who ran these systems since the 1970s had carefully written, fully functional scripts and we were quite capable of keeping hundreds and thousands of servers running just fine. Being bad at your job isn't the tools fault.
        1. IshKebab · · focus · HN ↗
          All Bash scripts are duck-taped by definition. It's a shitty duck-tape language.

          > thousands of servers running just fine

          Err yeah well you might have noticed these things called "laptops" and "desktops". SysVinit was... fine.. on servers. It worked badly on desktops and not really at all on laptops. I'm pretty sure the post introducing SystemD explained it all in detail if you want to learn something.

          1. hnlmorg · · focus · HN ↗
            Bash doesn’t just stop working because the x86 CPU is inside a different form factor. And actually Linux (and BSD too) did used to run on commodity desktop for local ISPs, newsgroups and so on and so forth. That was part of the reason for their success story: Linux and FreeBSD meant smaller Internet-facing business in the late 90s didn’t have to buy expensive mainframe hardware to run Unix software.

            The issue with Linux on the desktop, and especially the laptop, in the pre-systemd days wasn’t the init system. It was the lack of quality drivers.

            Now I’m not saying that systemd hasn’t brought improvements over sysv. But to say bash worked badly on laptops but fine on servers is just silly. That’s simply not how the technology works at all.

            And I don’t need to read some promotional piece from Redhat to know this. I’ve been running Linux on desktops and laptops longer than many adults have been alive. So I’ve lived through these massive ecosystem changes and have a first hand account of life before systemd.

            1. pocksuppet · · focus · HN ↗
              Actually yes, that's why they did stop working. Laptops regularly change hardware configuration. Desktops less so. Back when "local ISPs, newsgroups and so on and so forth" had desktops, they never changed hardware configuration while running.
      3. Woodi · · focus · HN ↗
        Total lack of understanding what is happening.

        There is difference between mandatory one implementation and set of funcionalities. Systemd is monolit with visible parts that provide somewhat modern funcionalities in 'nix world.

        And there is no serious developers in 'distro' space, except RedHat. And, really, there is no such thing RedHat we have in old Linux days - it was devoured and we just have a label doing corporate propaganda.

        So when few modern init systems were hatching RH dropped systemd and, as RH is main force in distros development, it gained dominance.

        And since then thing are getting worse.

        Eg. cgroups ? systemd first used them and so much hype happened. But is it deserved hype ? No! They implemented cgroups v1 when cgroups v2 was available. And cgroups v2 usage was blocked for years. In systemd too.

        Do not make mistake of not seeing difference between good and modern functionalities and one codebase with funding that block real development.

        Edit: formatting*

    2. rezonant · · focus · HN ↗
      I think we just have different ideas of what the word "reasonable" means.
      1. Joker_vD · · focus · HN ↗
        Upstart was reasonable. So is OpenRC.
      2. egorfine · · focus · HN ↗
        I don't think anyone seriously defends sysvinit.

        However upstart was totally reasonable.

        1. pocksuppet · · focus · HN ↗
          Nobody even uses sysvinit. When people say they use sysvinit, they actually mean a pile of ad-hoc shell scripts that have no relationship to sysvinit.
          1. egorfine · · focus · HN ↗
            Fair point.
      3. throw0101a · · focus · HN ↗
        > I think we just have different ideas of what the word "reasonable" means.

        I think we just have different ideas of what the term "building blocks" means.

        You cannot add (or remove) part of systemD as you wish: on a Linux system I cannot replace journald with something, and I cannot bring journald over to FreeBSD. SystemD is tightly-coupled (heck, they even borg'd in udevd, which was an independent project at one point).

        Building blocks in my mind are like Legos: you can put together the thing you see on the box, but the individual (literal) blocks can be used however you wish.

        1. mkeedlinger · · focus · HN ↗
          This is the best point I’ve heard for this perspective.

          I guess I just never cared to actually LEGO much with Linux.

      4. seany · · focus · HN ↗
        an init system that is just an init system. _That's it_. Any other option is unreasonable.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.