Comment by likeabatterycar

3 months ago

Why do people insist on living in the 1980s? systemd has enabled so much missing and previously convoluted functionality. There is a small but vocal coalition of admins that refuse to learn new skills. As if we didn't have enough "systemd free" novelty distros.

If you want to live in the past, go run SunOS. You might need a dusty old tape drive, though.

the dismissal of systemd criticisms by saying they’re unimportant (for you) or that admins are living in the past has got to be one of the most annoying things about the topic. It devolves into a flamewar because of it, since nobody can actually engage constructively once that happens.

I’ve laid my actual criticisms bare multiple times on this site.

1) The tight coupling of the userland with systemd means that while systemd replaced a pleathora of inits (not just sysv): the target is now too large to be replaced even if there are better ones. Systemd is the last init linux will have, and increases the barrier to port software to other unix-likes.

2) The non-optional/default features have been buggy and difficult to replace. Journald has no replacement; systemd-networkd is one of the most common causes of failure for my desktop due in part to being flakey when dnssec is not available.

3) The overreliance on dbus turns the “the unix philosophy” ;) away. Text as a universal communication medium, everything is a file, etc.

There are more, but these are my main ones. Throwing away the corpus of admin muscle memory is not an an issue anymore.

To be blunt, I was using Fedora when systemd was coming out, I know how it works intimately because it was constantly broken. Part of what gives me pause is that I know how utterly undebugabble it is when it fails: it just hits those causes less frequently as the world is forced into using it. It becomes battle hardened.

Oh, and the obvious criticism agains the maintainers who have been very unapologetic to bugs and undesired behaviour, in a much worse way than the Apple “you’re holding it wrong”.

Did you ever consider that it’s also free software nerds who are the most likely to hate being told what to do?

  • > 3) The overreliance on dbus turns the “the unix philosophy” ;) away. Text as a universal communication medium, everything is a file, etc.

    have you considered the reality that the "unix philosophy" results in incredibly brittle systems? byte streams ("""plain text""") are untyped and prone to mishaps.

    • Some of the most reliable systems in the world were unix ones.

      SunOS was famous for being incredibly reliable, and its a more pure unix than the current linux environment.

      And even if we ignore that, the majority of the web was functioning and functionally reliable atop linux with these text stream systems.

      bytestreams are less debuggable, which feels silly to say openly since we are all aware that higher level interpreted languages are easier to write/debug/test and iterate on, but we seem not to be bothered by this not being true for the underlying systems.

      Systemd clearly is working though, I’m just levying a criticism of opacity.

      2 replies →

  • > 3) The overreliance on dbus turns the “the unix philosophy” ;) away. Text as a universal communication medium, everything is a file, etc

    I prefer an introspectable, typed, and efficient communication protocol over streaming text because of the "Unix philosophy" whatever that may be.

    Is the philosophy documented somewhere or is it just in our hearts? Because the Systemd Bus interface has great docs right here: https://www.freedesktop.org/software/systemd/man/latest/org....

  • > systemd-networkd is one of the most common causes of failure for my desktop due in part to being flakey when dnssec is not available.

    While I have nothing to say about your general points - I am pretty neutral to systemd, but I really dislike how it makes porting software to BSDs harder - I have one question:

    Why are you not using networkmanager on a desktop computer? I have only used networkd on a server where I needed things like MAC matching and device renaming.

    Genuinely curious. On my desktop I used a wired connection, so NM is probably overkill, but I like how I can have a tray icon to manage my VPN and wireguard connections.

    • I typically use what's provided by my distro, because in my experience from Fedora (heh), fighting the distro is a surefire path for pain.

      Even arch has opinions, even if they're much happier to mute them in the name of choice, but it's clear that your life is better if you stick to the happy path.

      1 reply →

  • "To be blunt, I was using Fedora when systemd was coming out, I know how it works intimately because it was constantly broken. Part of what gives me pause is that I know how utterly undebugabble it is when it fails: it just hits those causes less frequently as the world is forced into using it. It becomes battle hardened."

    One of the foundations of Fedora is to be "first" and to integrate big changes like systemd before other distros. Things will break if you do that.

    • The point is that I have experienced how it fails when it does, not that it fails.

      All software fails, which is why it’s important that I can debug/fix it when it fails.

      That’s my point, I could fix what came before.

      2 replies →

  • In these comments I have so far seen "resistance to change from dusty admins older than tape drive mainframes," "it is religious," and "autism."

  • Without replying to specific parts, I'd like to point out that you and others bring up parallels between Systemd and closed source proprietary software shops like Apple and Windows. I view this as bad faith because Systemd should be afforded the kindness (and obviously has the user freedoms) of a fully open source work.

    There's nothing apple-esque about any of this. 'If you're unhappy fork it', is a common adage that is definitely applicable here.

    • > Systemd should be afforded the kindness (and obviously has the user freedoms) of a fully open source work.

      You cannot fork systemd in practice; it's enormous, and its components are tightly coupled with complex, non-stable interfaces between them. So while you have access to the source code, you do not have the practical ability to exercise the FSF's four freedoms.

      GNU/Linux was created as a rewrite of Unix not because Unix was the best operating system around, but because it was a design that could be replaced, changed, and improved piecemeal. GNU were able to write improved open-source versions of the components of a Unix system - such as init - piece by piece, and test them out and use them on existing Unix systems, rather than having to rewrite everything before they could do anything. If those older Unix systems had been designed like Systemd, that would not have been possible, and Linux would never have got off the ground.

      5 replies →

  • > Systemd is the last init linux will have, and increases the barrier to port software to other unix-likes.

    Why would you write portable software that has a dependency on an init system?

    > systemd-networkd is one of the most common causes of failure for my desktop

    What is objectively worse than buggy networking in systemd is having 26 different incompatible ways to configure networking in Linux.

    It is easier to settle on one method (like literally every other OS) and fix the bugs than continually come up with newer, equally buggy and broken, ways of doing it.

    • > Why would you write portable software that has a dependency on an init system?

      Ask the GNOME project.

      > What is objectively worse than buggy networking in systemd is having 26 different incompatible ways to configure networking in Linux.

      "Linux has 26 different incompatible ways to configure networking. Systemd solves this problem by introducing a 27th way that's buggier than most of the others"???

    • > What is objectively worse than buggy networking in systemd is having 26 different incompatible ways to configure networking in Linux.

      False.

      One of those 26 incompatible ways works just fine in the situation where systemd is clearly not working.

      It is only your opinion that it is better to have "buggy" networking than to have "not buggy" networking that you think is difficult to configure. That is the exact opposite of "objectively."

      3 replies →

  • Well, as far as your first point goes: Systemd has been a suite of tools instead of just an init system for a while now.

    The Linux kernel is de facto pretty tightly coupled with GNU stuff, but you don't get irate about that, so why does Systemd deserve your ire?

    • > The Linux kernel is de facto pretty tightly coupled with GNU stuff

      No it isn't, or Android, Alpine Linux, and Chimera Linux wouldn't work nearly as well as they do.

      > you don't get irate about that, so why does Systemd deserve your ire?

      And even if it were, systemd has a lot of problems that the classic GNU utils don't. We don't hate systemd just because of the tight coupling.

    • > The Linux kernel is de facto pretty tightly coupled with GNU stuff

      No it isn't. They go to great lengths to e.g. make sure they can be built with clang and not just gcc. And in the other direction, prior to systemd you could even swap out Linux on Debian for a different kernel.

    • > The Linux kernel is de facto pretty tightly coupled with GNU stuff,

      It's really not; Linux is fine with ex. Alpine or Android userspace, and builds with clang.

      > but you don't get irate about that,

      Er, I mostly certainly do object strongly to the GNU monoculture too.

  • > To be blunt, I was using Fedora when systemd was coming out, I know how it works intimately because it was constantly broken

    This was Fedora 15, in 2011. I would say using this as a baseline qualifies as living in the past?

    • it was more about how my muscle memory has evolved, that I know how it works and the benfits of it- not that I think systemd is the same as it was back then; clearly not as I mentioned things that are <5 years old.

  • > Systemd is the last init linux will have

    I'm fine with that.

    > and increases the barrier to port software to other unix-likes.

    Don't care about "other Unix-likes", and in fact I wish they didn't exist.

    > The non-optional/default features have been buggy and difficult to replace.

    Let's not pretend as if the pre-systemd crap wasn't even more buggy.

    > The overreliance on dbus turns the “the unix philosophy” ;) away. Text as a universal communication medium, everything is a file, etc.

    Dbus is a text-based protocol based on files though. What a silly complaint.

    P.S. Dbus sucks, but thankfully it would be pretty easy to replace in systemd if somebody got sick enough of dbus.

    • When comparing systemd to things, I find it more fruitful to compare it to something like SMF, which actually does the things people wanted systemd to do:

      * socket activation

      * dependency management of startup

      * log control

      * service supervision.

      Except, it did so by interfacing with the operating system in its native language, for example: log files were text.

      It is not useful to complain about bash scripts, the original design of init was indeed dated and you’d be hard pressed to find people who don’t think so; so its an invalid point to make in this discussion.

      2 replies →

> Why do people insist on living in the 1980s?

Because the music was better.

> systemd has enabled so much missing and previously convoluted functionality.

At the cost of much other convolutions and BLOAT.

> If you want to live in the past, go run SunOS. You might need a dusty old tape drive, though.

Not really, there is always http://tribblix.org/ :-) Besides that NetBSD would probably be more fun.

Speaking of which reminds me of https://www.usenix.org/legacy/events/usenix01/freenix01/full...

& https://mewburn.net/luke/talks/auug-2003/

Ever heard of it?

Btw. https://postimg.cc/CZtH4rHp

Nao gätt off mai lawwnh!1!!