back to article Agent P waxes lyrical about 14 years of systemd

FOSDEM returned to Brussels for the first weekend in February – not without some controversial people. "It's now the biggest FOSS event in the world, in terms of the number of streams, program items and talks, and in terms of virtual attendees," co-organizer Richard "RichiH" Hartmann told The Reg. We spoke to him just before …

  1. Doctor Syntax Silver badge

    "It's still maintained! But it's old,"

    So am I. And wiser.

    1. Bebu sa Ware
      Childcatcher

      "It's still maintained! But it's old,"

      The (modern) human genome at least 100,000 years is unquestionably old and it is still maintained - an onerous task no doubt but I do believe many receive some pleasure from the undertaking.

      Systemd by analogy would correspondingly be an upgrade offered by Lumic's Cybus Industries.

      1. Yet Another Anonymous coward Silver badge

        Re: "It's still maintained! But it's old,"

        Although like most legacy hacks it cost a fortune to go back and document it

        And we still aren't sure what 90% of the code does

      2. sedregj Bronze badge
        Windows

        Re: "It's still maintained! But it's old,"

        "The (modern) human genome at least 100,000 years is unquestionably old"

        Chicken and egg.

        The human genome is just as old as any other and that's zillions of years old - at some point genes (DNA and that) came into being. However unless you are a 4004 BC noddy, the notion of genome "creation" is smeared across a vast expanse of time - it evolved. Real life is far messier than prissy nomenclature.

        It is useful to slap labels on things but we do have to allow that labels do not necessarily imply absolute precision. That way lies madness and probably hair loss and a weak handshake and we can't have that 8)

        So, which came first: chicken or egg? (hot tip - there is no controversy)

        1. A.P. Veening Silver badge
          Joke

          Re: "It's still maintained! But it's old,"

          So, which came first: chicken or egg? (hot tip - there is no controversy)

          Safety, safety always comes first.

  2. seven of five Silver badge

    two corrections:

    > Let's have a look back at the tumultuous beginnings, how we

    1. It is not "tumultous", it is "tumorous"

    and

    2. With you (and your co-conspirators), there will never be a "we".

    1. TVU Silver badge

      Re: two corrections:

      Well, like a tumour, there has been a malignant takeover growth of other functions.

  3. Joe W Silver badge

    Modular?

    I almost spit out my tea when I read that.... I is not modular in the sense that you can actually swap out modules with other modules, e.g. for sound. I would really encourage anybody to compare how difficult it is to make some daemon run at system start in sysV (copy or heck even write the init file, it is not hard, make a link in the runlevel you intend it to run, with the correct startup order in the name, f' just put it on 90) and replacing e.g. pulseaudio with pipewire....

    Also: has systemd "won"? Wow, "winning" at that is... a messed up comment.

    1. seven of five Silver badge

      Re: Modular?

      Modular as in "just on module needed to pull the other parts in via dependency".

      1. drankinatty

        Re: Modular?

        Modular as in process 1 spreads out like a spider-web though the system encroaching on every aspect of system startup invoking module after module, service after service and timer after time both at the system-level and user-level in a way that reminds you of another OS from Sir Bill. If that's what he means by "modular" I'll gladly give him that.

        And therein is the rub. When it works, I've got no technical complaint about systemd, but when it doesn't, the average user is stuck either having to hunt through an encyclopedia worth of documentation hoping to stumble upon a rabbit trail leading to why -- or many times, is just stuck. I'm not sure that is good for Linux or open-source as a whole as it eliminates "choice". It's become a take-it, or write your own distro proposition in many cases.

        On the when it doesn't work from, take the recent little hiccup with loginctl that for some display managers caused logind not to set seat0 causing a litany of obscure issues. It got fixed, but it wasn't as if the user had hope of an easy (or any) work-around. So I'm not sure that "modularity" is something to point to as a benefit. Modularity may mean memory efficiency during init, but that doesn't mean a whole lot when when the added complexity makes it unwieldy and difficult to fix.

    2. Bebu sa Ware
      Coat

      Re: Modular?

      As in RJ45 plug - when the weak plastic bit that locks the plug into the socket is (easily) broken off and the plug floats about in the socket but of course the patch isn't replaced so you are thereafter plagued by intermittent, impossible to diagnose faults....

      Methinks t'is very like Poettering's pride and joy.

      1. Yet Another Anonymous coward Silver badge

        Re: Modular?

        >As in RJ45 plug - when the weak plastic bit

        So you're saying you preferred Token-Ring ?

        1. Antron Argaiv Silver badge
          Devil

          Re: Modular?

          Begone, spawn of Satan!

        2. Anonymous Coward
          Anonymous Coward

          Re: Modular?

          Which also used RJ45...

    3. karlkarl Silver badge

      Re: Modular?

      Yeah, but that guy twists words and its not worth arguing with him. Better just disengaging with his crap. BSD and non-systemd operating systems are actually flourishing.

      I mean, check out this issue log:

      https://github.com/systemd/systemd/issues/2402

      P, the sodding idiot didn't know the difference between hosing the install, vs bricking the system.

      He is a fool, and the community is filled with them. Just ignore them; the great thing about open-source is choice. You can skip the broken and replace it with something workable.

      1. Anonymous Coward
        Anonymous Coward

        Re: Modular?

        I wouldn't say flourishing, there are always contrarians in the Linux space.

        A fork of a Linux distro is not a flourish, it's a dilution.

    4. tekHedd

      Pipewire!

      As a musician and DJ, I say THANK GOODNESS (and apparently also redhat) FOR PIPEWIRE. Because pulseaudio is garbage. Or rather "was" because I don't run garbage if I don't have to. Can you taste the vitriol? That's what people get, when people come in heavy handed with insider support and force over-engineered "solutions" that just make things "broken in a different way" and "much harder to fix" on the world.

      Now, if we had a pipewire equivalent for systemd, the world would be a lovely place, with much less vitriol.

      1. Doctor Syntax Silver badge

        Re: Pipewire!

        "Now, if we had a pipewire equivalent for systemd"

        We do. Several.

      2. Anonymous Coward
        Anonymous Coward

        Re: Pipewire!

        You realise how much better it would be if your sound driver didn't need to have ANY additional "sound daemon" installed?

        They are all hacks, for a hacky driver, on a hacky OS!

        1. Anonymous Coward
          Anonymous Coward

          Re: Pipewire!

          Yeah we've been there, a long time ago, it sucked.

          Sound was one of the classic Linux problems along with wifi.

          These days I just want Linux to work, I love using Linux...but I don't yearn for the old days...it's already the best OS (no matter your opinion on init system, sound subsystem etc)...we've fucked about for long enough. We've reached a point where things just work (mostly)...which is good...I'm all for choice for those that want it...but for mass adoption and any shot at the "year of Linux" we have to accept that things working is more important than philosophical debate.

          The spirit of Linux isn't creating "the one great distro"...the spirit of Linux is "if you don't like it, make your own distro"...complaining about the decisions distros make is like shouting at clouds...it's a waste of your time.

          Thankfully, there aren't really that many people that complain, the ones that do are just loud...and the ones that do complain are the ones that aren't capable of customising their own distro. There is a bell curve in Linux that has new users that just want a distro that works, they don't care whats in it...then the bell curve peaks at people who do nothing but complain, who want the good stuff but aren't capable of implementing it, then the curve tapers off again into people that don't care what's in a distro, because they're capable of making it do what they want anyway.

          Fuck the inbetweeners man.

      3. cosmodrome

        Re: Pipewire!

        You're aware that you don't need either? Just run jack on plain ALSA. Unless you're trying to watch Youtube vids and stream whatever at the same time. Which you just shouldn't - and if you really think you must then don't run it on the same audio device as your production apps. If you run all this shit through pipewire on the same interface you'll inevitably end up with internal software resampling, mashing x different sample rates from y different sources to an awful stream of mud. Maybe that's OK for you - it won' be for anyone else on a different setup. Before you call me an idiot who doesn't know what he's talking about: I've produced title tracks for international cinema productions (one even got a golden palm in Cannes), jingles for ads and radio stations, played live radio shows and gigs - all besides releasing my own stuff.

        In one thing, however, you make a point: the same kind of people aggressively supporting systemd are the loudest supporters of pipewire.

        1. Anonymous Coward
          Anonymous Coward

          Re: Pipewire!

          FreeBSD has supported hardware channels for mixing (and low level driver where hardware doesn't support it) for at least 25 years.

          Any sound source can open a device at the same time. No sound servers needed.

          Why can't Linux do this?

    5. nijam Silver badge

      Re: Modular?

      Absolutely not modular.

      The P-Head himself says "Suite of ~150 separate binaries... Quite modular", then a few lines later "...with many interdependencies".

      He obviously does not understand how broken his reasoning appears.

  4. m4r35n357 Silver badge

    "And some things that should not have been forgotten were lost"

    You see - he _did_ know better at the time.

    Go OpenRC!

  5. Dan 55 Silver badge
    Devil

    "(Almost) all in C"

    I propose that systemd should be feature frozen and re-written completely in Rust. To keep him busy, because the devil finds work for idle hands.

    1. find users who cut cat tail

      Re: "(Almost) all in C"

      And when the rewrite is almost done someone needs to come up with some other shiny modern language to rewrite it to.

      1. Doctor Syntax Silver badge

        Re: "(Almost) all in C"

        Or an old one. APL.

        1. Zimmer
          Happy

          Re: "(Almost) all in C"

          Upvote for APL - and the greek keyboard.... (upvote <- 1) )

          1. HuBo Silver badge
            Gimp

            Re: "(Almost) all in C"

            In that throbbing vein, istr FOSDEM 2025 had a couple updates on Redox OS (Non-Linux Posix Rust), Shepherd (PID 1 in LISP), and the FPGA OpenXC7 (PL bitstream built on the PS itself, on Zynq 7000) ... any chance of a medley TFA, or separate ones, on those, as updates to recent pieces (maybe webassembly too, if warranted) ... pretty please!

        2. David 132 Silver badge
          Thumb Up

          Re: "(Almost) all in C"

          Whitespace.

          1. HuBo Silver badge
            Pint

            Re: "(Almost) all in C"

            great link! ... a polyglot implemented in Haskell ... sweet!

          2. nijam Silver badge

            Re: "(Almost) all in C"

            Oh yes please. And he should be advised to start by implementing a prettyprint pavckage for it.

          3. Doctor Syntax Silver badge

            Re: "(Almost) all in C"

            Surprised to find that backspace isn't used.

            1. David 132 Silver badge
              Pint

              Re: "(Almost) all in C"

              >Surprised to find that backspace isn't used.

              :)

              Write a program consisting of [Space][Space][Tab][Space][Backspace][Backspace][Backspace][Backspace]... and find that your compiler has optimised it to zero bytes!

              Have a Sunday pint for the ridiculous mental image.

        3. Tim99 Silver badge

          Re: "(Almost) all in C"

          This one by Urban Müller? May be USFW.

        4. Antron Argaiv Silver badge

          Re: "(Almost) all in C"

          APL got me thru linear algebra in uni. Imvert one 4x4 matrix by hand and you've had enough of that for life.

        5. Roo
          Windows

          Re: "(Almost) all in C"

          I nominate PASCAL.

        6. fedoraman

          Re: "(Almost) all in C"

          Yeah but APL is "famous for being able to write tax accountancy packages or air-traffic control systems in two lines of (dense) code"

          So systemd might be, ooh, 3, maybe 4 lines even?

  6. Anonymous Coward
    Anonymous Coward

    Mandatory listening..

    https://www.youtube.com/watch?v=o_AIw9bGogo

    1. Liam Proven (Written by Reg staff) Silver badge

      Benno Rice's talk "The Tragedy of systemd" from linux.conf.au

      It is very good.

      1. This post has been deleted by its author

    2. graemep

      I have seen that talk and it is excellent.

      It explains what both sides in debates about systemd seem to often miss.

      Systemd is not an init system. it is a system layer somewhere between the kernel and user space that includes an init system. That is what is good about, and that is what is bad about it.

      1. bsilva66
        WTF?

        Not good - just half thruths, lies, fallacies and propaganda.

        It's not very good. It is, in fact, really bad; that talk is just a repetition, almost word for word, of lennie P's infamous "systemd myths" blog post. Including the stupid, idiotic lie pretending not to understand that "The unix way" is a basic engineering principle, very close to KISS - "do one thing and do it well", and not, as P made up, "all in the same repository". Which apparently P repeated at fosdem and was applauded by all the other wannabe microsoft employees in the audience.

        linux.conf.au went really out of their way to first, delete all comments on that video, then forbidding new ones. Seems that whomever was paying them for it didn't like that everyone else was pointing out that all the crap spewed by Benno on that talk had been comprehensively answered way before - by Jude C Nelson in 2014. Here - https://judecnelson.blogspot.com/2014/09/systemd-biggest-fallacies.html. Indeed, Benno was just parroting a bunch of fallacies, and sounding just like another cult member without a clue. I hope he got properly rewarded for his part in the farce.

        When someone claims that talk is anything but parroting a bunch of lies, it makes me think that that either they have bought at leat partially into the cult, or are grossly misinformed about anything systemd/lennart.

        1. nijam Silver badge

          Re: Not good - just half thruths, lies, fallacies and propaganda.

          > "do one thing and do it well"

          A new take on Antoine de Saint-Exupery: "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."

          Something we should all know already.

          1. David 132 Silver badge
            Thumb Up

            Re: Not good - just half thruths, lies, fallacies and propaganda.

            Or indeed, Colin Chapman’s automotive engineering maxim “Simplify, then add lightness”.

  7. Kurgan

    Reading this makes me cry

    Every time I read about Potta's rants and grand schemes for devastating Linux even more than this, I just want to cry. Hopefully I'll be retired (or dead) soon enough to be able to just avoid the time when systemd will become the whole OS.

    1. itzman
      Black Helicopters

      Re: Reading this makes me cry

      One is reminded of the MCP in 'Tron'...

      1. Liam Proven (Written by Reg staff) Silver badge

        Re: Reading this makes me cry

        MCP was a real OS, implemented for Burroughs machines, in a dialect of Algol.

        A descendant is still sold and maintained today.

      2. Antron Argaiv Silver badge

        Re: Reading this makes me cry

        As a newly graduated Computer Systems EE, Tron was a very fun watch.

        1. Doctor Syntax Silver badge

          Re: Reading this makes me cry

          The only joke I remember from it was the insurance program trying to sell insurance.

    2. R Soul Silver badge

      Re: Reading this makes me cry

      when systemd will become the whole OS

      We're already long past that point.

      1. Doctor Syntax Silver badge

        Re: Reading this makes me cry

        Not on here we're not.

        Sent from my Devuan-powered laptop.

    3. bombastic bob Silver badge
      Unhappy

      Re: Reading this makes me cry

      From the article: We don't want encrypted drives, TPM modules, sealed validated boot processes, managed home directories that aren't actual directories anymore, or pretty much any of these features

      Poettering's view of the future is (apparently) to turn Linux into Windows, and to re-re-invent DBus etc. (again) so that the BSD's and non-systemd-infected Linux flavors are broken, and to have that [another LOTR reference, you're welcome] "One Init to RULE THEM ALL" (etc.)

  8. steelpillow Silver badge
    Facepalm

    "we have a complex build, with many binaries and tests, with many interdependencies."

    Is this how you define "modular", Agent P?

    1. bombastic bob Silver badge
      Joke

      Re: "we have a complex build, with many binaries and tests, with many interdependencies."

      The military term is "Charlie Foxtrot"

    2. bsilva66

      Re: "we have a complex build, with many binaries and tests, with many interdependencies."

      Not now - he's been lying like that since the beginning. Almost everything is parroting the infamous "systemD's biggest myths" blog post (by P themselves). As I put above, all that crap was answered way back in 2014 by Jude C Nelson, but some people, like apparently Liam, still don't get it.

  9. Czrly

    How many lines-of-code is OpenRC?

    I've been writing Rust, intensively, for the better part of a decade and I will be the first to agree that Cargo is not perfect. Don't even get me started on "features" – what they were, what they are, what they were intended to be and how people abuse them across the ecosystem. But the truth is that Cargo is actually bloody brilliant when one considers it, objectively, and thinks back to Autotools or CMake. Cargo works well enough right "out the box" and it works pretty much the same way for every project that applies it, correctly, on every supported platform. Rust is "nice" because you *can* just `git clone` most code-bases and Cargo will usually build them, run their tests and executables and their examples. You can edit those examples' `main.rs` source and start to hack right away and Cargo keeps running them so you can play. The on-boarding process to try out something in the Rust & Cargo ecosystem is easily the best I know by a million miles, chains, cables, furlongs or what-have-you.

    But let's just take a step back: you're making an "init system". That is: a system that runs to spawn other processes, monitors them over their life-time, killing some and restarting others if they die. If the structure is, indeed, so convoluted that it can't be built with Cargo, you're inept or you're wildly out of scope and I wouldn't want to touch what you're making with a ten-foot pole.

    I think the mention of Meson is apt, though. Meson is basically the systemd of build tools: it is extremely opinionated and hostile to every other build system, offering heavily begrudged support for integration with CMake out of necessity (because everything else either uses or supports CMake – it being the industry-standard incumbent) but holding the line that interoperability means "just port everything to Meson".

    Do you want to link SDL in a Meson project? Great! You've got the flagship demo for that specific case. Oh: you want to use a version of the SDL that doesn't match the demo's current "wrap" version? Good luck, then, because SDL builds with CMake in a non-trivial way so you'll be patching the official demo "wrap" (and it is exceedingly verbose, being a complete reproduction of the SDL build mechanism), writing something entirely new or hacking together some very cursed solution that will never be supported because you're using Meson in a way that contravenes their "philosophy". Ditto for every other non-trivial dependency that doesn't coincide with an official "wrap": it's all just "port to Meson" because that is the only supported way. (Edit: citation: https://mesonbuild.com/Mixing-build-systems.html)

    1. m4r35n357 Silver badge

      Re: How many lines-of-code is OpenRC?

      What has this to do with OpenRC?

      1. Czrly

        Re: How many lines-of-code is OpenRC?

        Agent P chose to compare the number of lines-of-code of systemd with that for glibc – an implementation of the C standard library and not actually an init system – or that of bash (a shell, not actually an init sytem) or wpa_supplicant (a wifi thing, also not an init system) and so some crazy, off-spec, non-conformist part of my brain wondered if, just maybe, a more interesting comparison would be to – you know! – another init system.

        But maybe he was trying to suggest that systemd isn't actually an init either. I'm sure it contains a complete implementation of a C standard library, a shell and a wifi layer, too, by now. Maybe those are written in fewer lines of code, too, for all I know.

        Actually, I do wonder why he's bothered that Cargo doesn't meet their requirements. That seems a little off-brand; I'd have expected him to just add an entire Rust build toolchain to systemd and roll with it.

        1. R Soul Silver badge

          A very significant data point for the systemd fanbois

          % wc /source/bsd44/sbin/init/*[ch]

          1297 3808 27721 /source/bsd44/sbin/init/init.c

          42 323 2090 /source/bsd44/sbin/init/pathnames.h

          1. nsimic
            Linux

            Re: A very significant data point for the systemd fanbois

            There is a minimal implementation of an init system called machined

            IMO shows that, if your goal is to write an init system, you can do it in 400 LOC

  10. Altrux

    Not a Hater

    I'm still trying to understand why I'm meant to hate it so much. I know it rather breaks the "do one thing and do it well" philosophy, and I know it forces certain ways of interacting; but it does solve some problems and brings the whole service management game up to date. I have no particular attachment to the ancient ways, even though I "should" as an old skool Unix bod (cut my teeth on Solaris in the 90s before Linux took over). Let's hear it for the positive aspects of systemd.

    1. Doctor Syntax Silver badge

      Re: Not a Hater

      "Let's hear it for the positive aspects of systemd"

      Tumbleweed.

    2. Dostoevsky Bronze badge

      Re: Not a Hater

      Ditto. I just want to get things done. Systemd works. End of story. These are software tools, not objects of religious devotion.

      1. Anonymous Coward
        Anonymous Coward

        Re: Not a Hater

        For me, broadly it seems to work fine if I don't have to interact with it at all. But, and like the poster just below you, I once tried to get it to do a thing (in my case - more or less to automatically run something once networking was up), and I couldn't work out how to do it, and I found the documentation incomplete (or maybe I just couldn't find the right doco), and because the things that look like they should have worked (based on available doco/examples), didn't.

        So there's different sorts of "works" here: (a) working ok in the background as setup by your distro, and (b) working when someone wants to make it do something beyond that .

        1. Missing Semicolon Silver badge
          Unhappy

          Re: Not a Hater

          2 things:

          1) SystemD re-implements some features. But it does so in an unexpected and worse way. For example, fstab mounts used to fail-soft, leaving you with a system which while broken, could at least be logged in to to fix it. Now, mount fails are fatal. Ands since the mounting (for swap files) happens in initrd, just patching fstab frm a rescue disk doesn't fix it.

          2) It does not work like it's documented. I was trying to implement a script that runs on shutdown before the users are logged out. It seems that the user sessions are ended, and their processes killed, before any unit shutdowns are processed.

          2.1) Oh, yes, changed defaults to suit LP's desktop. It used to be that processes started by users lived after the user logged out. Because he got fed up with Gnome desktop processes being left over on session end, he unilaterally changed the default to kill all processes on logout. You can disable this, but it surprises you when you first upgrade from SysVinit.

          1. Anonymous Coward
            Anonymous Coward

            Re: Not a Hater

            "but [systemd] surprises you when you first upgrade from SysVinit."

            Yes. IME POLA abuse is common with systemd. We experienced a trend of escalating complexity and, ultimately, breakage from CentOS 6 -> 7 -> 8 . After a while it didn't feel much like "upgrade" from SysVinit, or anything else for that matter.

            Fortunately the long delay (block, stall, whatever) that happened sometimes during shutdown seems to have eventually been sorted out, one way or another. I still don't really know if there's a proper way to "start this after the network is up", though.

            I fear the other new features that poettering et al are talking about will be similarly unstable, unpredictable, and/or undocumented, at least for a while.

        2. FatGerman

          Re: Not a Hater

          .."couldn't work out how to do it.."

          Really? Take an existing service file. Copy it. Edit the line that tells it which excutable to run. Save it. Job done. I worked this out in about 5 minutes. Never managed to figure out how sysvinit worked at all.

          I'll agree the documentation is crap, but the service files are so trivial and self-explanatory that you don't need it.

          1. tekHedd

            Service files: self explana..what?

            Trivial? Uh, not really. If you don't know what you're doing, copy/paste won't get you far.

            Self-explanatory? Now I know you're trolling. Understanding the various options requires reading MULTIPLE man pages (or web pages) and understanding all of them.

          2. Anonymous Coward
            Anonymous Coward

            Re: Not a Hater

            > but the service files are so trivial and self-explanatory that you don't need it.

            Maybe if you're copying (cut-paste, whatever) something which is just like the new thing you want to do, with the same pre-reqs and dependencies and whatnot. Maybe.

            But if you actually need something a bit different, perhaps with different dependency order or other conditions that systemd doesn't account for ("launch this service after the network is up"), then it's bollocks.

            And the docs don't usually help in that case either, not entirely because they're just crap, as you say, but also because they're kinda all over the place, and useful examples can be scarce on the ground. And if you can lay your hands on the pertinent docs, don't be surprised if the documented behavior doesn't match reality.

      2. Snake Silver badge
        Coat

        Re: software tools

        "These are software tools, not objects of religious devotion"

        This is *open source*. Religious devotion was open-source developed and is widely popular here.

        The fundamentally undeniable point: this, indeed *is* open source. All the distros are free to choose anything else besides systemd yet here we are, with systemd being the most popular choice among the largest Linux distros.

        So [devout tech-head] users loathe it, yet system devs and distro creators seems to [accept/love] it. So, there's a disconnect between the hardest-core tech users...and, mostly, everyone else, as forum boards covering distros from Debian to Ubuntu aren't DDoS'ing over systemd.

        So, why? As some of the posts here describe, some people are very focused on ethos of *nix rather than if the OS plain works for most people. "Do only one thing, and do it well" was all and good 30 years ago, during Unix's limited-use hayday, but pushing the ethos on widely-supported, unknown hardware and beginner-to-intermediate level users - is that still the best idea? 30 years ago you didn't have sophisticated kernel-level GPU drivers, sound drivers, muti-kernel and multi-thread virtualization, and more. Was it becoming too much of a patch-together hodgepodge for devs, never mind users, to debug and administer? Sounds like it from Poettering's view, and sounds like it from the open adoption of systemd by the developers of distros themselves.

        icon: flamesuit. Because this is a fierce and heated topic here, but this seems to be the minority opinion ("He received a rapturous welcome, with a massive round of applause, and not a single rotten tomato was flung") and they'll never admit that to themselves.

        1. Anonymous Coward
          Anonymous Coward

          Re: So, there's a disconnect

          I'm inclined to say "of course there is". (Some/Many/but not all) system devs and distro creators accept it - well, probably because they have managed to get it to do what they want (or presumably they wouldn't have switched their distro over).

          But that's not the only use case - many other linux users, such as the techy ones, might also want to get systemd to do something, but unlike the system-devs (etc) don't necessarily have the time to get to grips with the non-trivial ins-and-outs of how you get it to do things. But they do know that the old scripted system might've been clunky, but was otherwise dead easy, because even a vaguely techy linux users can write a script. So your techy user wants to make systemd do some particular task, but then hits what seems like a wall of poorly documented systemd blocking their way. And when they could've put together a simple bloody script to do it in 15 minutes. How is that not going to be annoying?

          1. Snake Silver badge

            Re: So, there's a disconnect

            I can see that complaint but how often does this need to happen, and therefore do the kernel devs need to organize the init system to compensate for that fact rather than create a system that is cohesive and manageable from their end?

            I guess this is the equation that they must compute, and it seems that the figures go in systemd's direction. My guess is, is that modern modules that need to be init managed are just so interdependent, so needing organization and cohesive management, that the issue of user adjustment to the init handling simply can't be reasonably factored in.

            1. stiine Silver badge
              Unhappy

              Re: So, there's a disconnect

              Every time until the documentation is accurate and up to date, and isn't simply the man pages with different order and spacing.

            2. Anonymous Coward
              Anonymous Coward

              Re: it seems that the figures go in systemd's direction

              I notice that "figures" here is vague. If you mean a "used in distributions/installs" count then you may well be right, but "liked by users", then .. who knows? I imagine many or most users haven't noticed systemd at all, because they've never had to have any need to tweak its operation. But those same users would also most likely never have noticed the script-based system either. Should they count in the "figures that go"?

              The thing is that it's not end users who get any significant say in deciding, since most likely they just find that systemd has been put there by distribution devs (as I did, when wearing my debian-user hat). If you want a *meaningful* say, you probably have to start cultivating a presence in your distribution's dev community, which would be a rather big step for some miscellaneous user who occasionally needs some kind of init-dependent auto-thing to be set up in their computer.

              I would strongly suspect that the number of devs who choose/chose to set their distribution to systemd is vastly exceeded by the number of users who have interacted with it and dislike it -- but solely because the number of distribution devs is likely to be such a tiny fraction of the number of *any* user, so that even small fraction of dissatisfied users would be the larger count.

              I think we might need to agree on what "figures" is being meant before deciding which direction they go in.

          2. Paul Hovnanian Silver badge

            Re: So, there's a disconnect

            "because even a vaguely techy linux users can write a script."

            And that, IMO, was one of the reasons systemd was pushed. STOP WRITING SCRIPTS! We hate scripts. Windows doesn't have scripts (Well, there's this powershell thing. But nothing to see here. Move along now.) Oh and pipes are out as well. Use Dbus.

            Back when systemd was being sold (pushed in dark alleys, whatever) the biggest argument I got from its proponents was the number of process IDs the bash scripts it took to boot up Linux. So what? It's not resource limited like Windows. It just recycles the PIDs. So when I took a look at systemd, I just said, "No problem. It looks like I can put my init script in the service file and have it do the daemon initialization stuff just like in the old days. And I can even read/write to Dbus from a bash script and make myself look just like a proper systemd service.

            "Nooooooooo! You can't DO THAT! The whole point was to get you techy people to forget about scripts. Bash, gone. Strings of simple, modular utilities all piped together? Gone. Command lines? Gone."

            It looked to me like systemd was nothing more than a big social engineering ploy to get us to forget about Ken Thompson's Unix philosophy. And get us to "You will have nothing. And you will be happy."

          3. Doctor Syntax Silver badge

            Re: So, there's a disconnect

            "because even a vaguely techy linux users can write a script"

            Not only that, they can test it and single step it if necessary from their terminal's shell.

      3. Czrly

        I'm a hater.

        Does it work? Who can say? What does it work *at*? If that question were simple, I – too – would honestly not care very much about it because I do not count "init systems" amongst my areas of interest, particularly. I do consider myself to be a systemd hater, however. I'll own it!

        I can't answer the question of what systemd works *for* or at because it seems that systemd is trying to be everything: it is not just init. Every other news story about systemd concerns its creeping into yet another domain it has no reason to touch.

        So, I ask: who can say it works? We can't even define what its scope is or what it will be, tomorrow, so who can define whether it is fit for purpose or not?

        I hate it because I can't ignore it as long as I'm a Linux user. The way it creeps into every domain makes it necessary for me to know about it and care about whether it is fit for purpose or compromised. The more systems it touches, the more irreplaceable it becomes and the more I need to care about it.

        I run Gentoo, on OpenRC, and don't even use systemd and yet, still, I have to care about it because of its outsized impact on the whole Linux ecosystem – that's why I hate it.

        I don't know a damn thing about how sysvinit looks on the inside, or how OpenRC's upstream code-base truly is to hack on, but I do know that I can define their standard operating conditions and the job they're supposed to perform and I can answer that question: do they work? If I determine that either one is lacking, I can implement my own replacement to meet my needs because their scope is contained. It is nearly impossible to "replace systemd" in the ecosystem, today, and only becomes more difficult with every new development in this farce.

        To judge that it works would require confidence that it succeeds at what it claims to do which I've argued is ineffable but it is easy to prove that it does NOT work because one only needs to find the stuff it breaks. I use Gentoo almost exclusively on desktops and servers, today, but I have used systemd-based distributions often enough to see it break, frequently, often rendering Linux mechanisms that should be 100% independent of init, like `sudo`, totally inoperable or introducing new supply-chain attacks, like the way the whole `xz` thing transpired.

        Should the OpenSSH developers have cared about whether the supply-chain of `xz` should form part of their threat model because of how distro package maintainers at Debian might link things to satisfy the requirements of agent P's "init system"? That would be totally absurd but, yet, that actually happened. That actually came to pass. That is why I care. That is why I'm a raving, frothing lunatic with rage whenever I read about systemd. This situation *is* absurd.

        … and it threatens our operating system: Linux. I actually like to be able to use computers that run a sane operating system.

        1. Zolko Silver badge

          Re: I'm a hater.

          Does it work? Who can say? What does it work *at*?

          that's the core of the issue : systemd is a lie, and thus Poettering a liar, and I cannot trust a liar. SystemD was initially introduced as an init system, which is fair game. But it has evolved into way more things beyond any reasonable target (WTF is an init system doing with $HOME directories ???) yet the liar is still using the init argument. This is the first page of his presentation :

          What is systemd again?systemd is a suite of basic building blocks for building a Linux OS. It provides a system and service manager that runs as PID 1 and starts the rest of the system.”

          That he now works for Micro$oft only makes things worse. So the question is not only whether "it works" for some undefined field, but "can I trust that it will not get in my way as Windows does now" ? While I don't have much arguments for the init part, even contemplating to touch MY home directory where I store MY data is an absolute nonnegotiable red flag.

          1. Anonymous Coward
            Anonymous Coward

            Re: I'm a hater.

            You do realize that he has written/is writing/will continue to write - systemd - for his trivially replacable laptop. For example, problems with suspend/wake are not actually issues for servers because SANE people don't power servers off. We run redunand systems and patch/boot them monthly. The amount of time it take for the systems to boot does not matter in the least because we don't do it 10 times a day.

            1. m4r35n357 Silver badge

              Re: I'm a hater.

              Objective: "finish" before boot does ;)

        2. Anonymous Coward
          Anonymous Coward

          Re: I'm a hater.

          Linux. I actually like to be able to use computers that run a sane operating system.

          A sane OS and Linux are mutually exclusive.

        3. TVU Silver badge

          Re: I'm a hater.

          To this day, I still do not understand why on earth the 2014 Debian conference adopted SystemD. Just what were they thinking of?

          1. I could be a dog really Silver badge

            Re: I'm a hater.

            I CBA to find the link, but it's been explained very well how the vote was rigged to get that result. In reality, there wasn't a majority vote for SystemD, but because of the way the options were presented, and how some responses were taken as supporting SystemD, it got passed.

            There were also what I would consider to be lies. Again, CBA to find links right now, but it was made quite clear that running SystemD as the Init would be optional and SysVInit would still be a supported option. It didn't need much understanding of SystemD to see that such a policy wasn't going to happen (not for long anyway).

      4. Inkey
        Childcatcher

        Re: Not a Hater

        Let's face it though it'snot a great fit...as mentioned it is not as it is clamed to be,.. modular or an init app.

        Yes it does work mostly and I'm happy for you that you can get on with...stuff.

        However I'm still weary about it's over reach... the facr that other than bsd not much has been done to make it more unix like.... the attitude that it is /was adopted just so readly by so many os's , and get over it does not satisfy. Also he has not endeard himself and at times has been quite hostile which wrankles me.... But the fact tht he now works for m$ positivly freaks me out!

        been using mx without systemd ... as daily for the past few months and it does work well... although not sold on kde plasma

        1. Rich 2 Silver badge

          Re: Not a Hater

          I find it staggering that almost all the Linux distributions adopted this crap so readily. Did they all get a bump on the head at the same time or something? Thank goodness there are several non-systemDread options out there (I’ve used Void for years now) but I do worry that there will come a point that this cancer is so widely used that many normal applications simply will not run without it - which I’m sure is P’s intent

          I curse Prickhead for making this abhorrence. I also curse the distro heads for having a “duh ok” attitude and forcing it in the world

      5. nijam Silver badge

        Re: Not a Hater

        > Systemd works. End of story.

        Like all too many modern things (not just software), it works until it doesn't. Maintainability is no longer regarded as a necessity.

    3. Gene Cash Silver badge

      Re: Not a Hater

      I tried to write a script to upload images from my camera when it was plugged in.

      Simple enough task, right?

      I fought systemd for about 4 weeks. Systemd did things like killing the script I ran to pop up an X Windows notification about what files were uploaded.

      I gave up, moved from Debian to Devuan, and wrote a working udevd script in about an hour, which included learning how udevd worked.

    4. bombastic bob Silver badge
      Mushroom

      Re: Not a Hater

      The single WORST feature is how "out of the box" systemd attempts to turn even a simple embedded device into a general use laptop computer. You have to SHUT DOWN at least 2 "services" to use a serial port to control a device that is NOT a modem or get random CRAP inserted into your control protocol. You have to JUMP THROUGH HOOPS to make your device configurable as EITHER a wifi client OR an access point, ON THE FLY. You have to SHUT THINGS OFF for systemd, then write scripts of your own to turn stuff on and off without rebooting. It is a PAINFUL WASTE and Raspberry Pi (and similar board makers) made a HUGE MISTAKE in NOT going with DEVUAN as soon as they could!!!

      Systend is like an UNNECESSARY WALL that REAL engineers (not just hackers) would rather BLOW HOLES IN than go through its RIDICULOUS BUREAUCRACY!!!

      and all I want is a touch screen that makes things turn on and off and displays metrics and stuff... with an OS that supports the latest hardware.

      1. Doctor Syntax Silver badge

        Re: Not a Hater

        For once, bob, your CAPS are pardonable.

    5. m4r35n357 Silver badge

      Re: Not a Hater

      erm, because it is is an over-complex and invasive sack of shit?

    6. R Soul Silver badge

      Let's hear it for the positive aspects of systemd.

      These can be found alongside the positive aspects of Ebola, novichok, asbestos mining, etc.

    7. This post has been deleted by its author

  11. Anonymous Coward
    Anonymous Coward

    I Wrote A Script.......

    @Gene_Cash

    ....I wrote a script in Python3.......

    .....to upload new images from my laptop to my server. (Note: the server environment also includes a database which catalogued the images).

    .....Yup....23K of Python3 script.....works like a charm..........

    .....running on pretty much vanilla Fedora 41/XFCE machines.............

    .....everything involved uses X-Windows, ssh, sshd, F41, systemd.....and who knows what else.........

    .....written in Python3...................

    Please give me a break.........NO ONE needs to move to Devuan.......ALMOST no one gives a rat's ass about systemd................

    1. Bluck Mutter

      Re: I Wrote A Script.......

      23k of python code to to upload new images from your laptop to your server?

      That either says python is a verbose piece of crap or you are including 22k of code comments in your line count.

      Bluck

    2. Rich 2 Silver badge

      Re: I Wrote A Script.......

      Who the hell writes a 23k Python script to move some files? And thinks it’s worthy of boasting about?

      Remind me never to work with you

      1. Doctor Syntax Silver badge

        Re: I Wrote A Script.......

        AgentP?

  12. keithpeter Silver badge
    Windows

    Tail end backwards

    "Poettering began to realize that he was running out of time, and as he moved to the section titled "Goals and Challenges for the Future," he started skipping more and more slides, while also speeding up, and things started to become a bit less coherent."

    There is a metaphor in there somewhere.

    Agent P might want to present the roadmap first next time. The history is all out there is it not?

    1. David 132 Silver badge
      Thumb Up

      Re: Tail end backwards

      Presumably the keynote presentation equivalent of #Worksforme #Wontfix is #IUnderstandThisAlready #WontBotherExplainingThisSlide?

    2. Ken Hagan Gold badge

      Re: Tail end backwards

      "The history is all out there is it not?"

      Perhaps it wasn't the right history.

    3. Anonymous Coward
      Anonymous Coward

      Re: Tail end backwards

      > Agent P might want to present the roadmap first next time.

      A suspicious and/or cynical person might think he avoided that intentionally.

      Seems like most times poettering announces yet another new so-far-beyond-init-functionality-that-you-can't-even-see-PID1-from-here feature, it results in a bunch of backlash and controversial coverage.

      Unfortunately he keeps doing stuff anyway, perhaps hoping the experienced people won't notice this time, knowing the burned-out regulars have already thrown up their hands, and his fans will go along with it like they always do.

      1. Telman

        Re: Tail end backwards

        Fans? Did you mean simps?

        1. Anonymous Coward
          Anonymous Coward

          Re: Tail end backwards

          I am by now pretty sure that they aren't fans or simps, but rather fellow microsoft employees. Like we suspected P was, like we suspected Icaza was, way before they came out and admitted it publicly.

    4. nijam Silver badge

      Re: Tail end backwards

      > Poettering began to realize that he was running out of time.

      Ah, the dream!

  13. Eecahmap

    The author's mistaken premise

    The author mistakes "new" for "better".

    systemd is new. It is not better, and never will be as long as it has visions of embracing, extending, and extinguishing.

  14. O'Reg Inalsin

    I was surprised to see Dorsey blacklisted for selling Twitter and making "a massive profit" from it. Firstly, he reinvested most of the sale money back into shares of New Twitter, so he has actually lost over half that value. Secondly, every anti-Musk activist I heard at the time was vehemently opining that Musk must stick to his original too high offer and not be allowed to back out of the deal. Go back and check the comments on the reg and ars technica.

    Now he is a founder of Blue Sky, which is open source and quite big, so a talk seems reasonable.

    I worry about the activist left poisoning itself with trigger finger cancellation as a substitute for policy.

    1. ianbetteridge

      Dorsey left Bluesky a while ago. https://www.theguardian.com/technology/article/2024/may/07/jack-dorsey-quits-bluesky-board-urges-users-stay-elon-musk-x-twitter

  15. PRR Silver badge
    WTF?

    > "Sorry, but my printer is not a file!"

    Hmmm. He can't be at the front of the room if he is that stupid, or that aphasic. So WTF is he on about??

    Mesopotamian merchants made marks on clay tablets and FILED them on shelves. Has he really confused the stylus for the data?

    When I "send text to the printer to file it", I expect to get marks on paper or other artifact suitable for FILING storage, retrieval.

    When my wine business gets huge, and I have many stylus-scribes working under me, I'll probably assign accounts or divisions to them by name. Akaru, Bob, Con:, LPT (1,2,3) so I know who to promote or fire.

    1. sabroni Silver badge
      WTF?

      re: He can't be at the front of the room if he is that stupid

      If your printer is a file why can't you copy it to this sd card?

      And you think he's the one that's stupid?

      1. Anonymous Coward
        Anonymous Coward

        Re: If your printer is a file

        I suppose then some rephrasing is necessary. Thus: "your printer appears as if it were a file"

      2. Anonymous Coward
        Anonymous Coward

        Re: re: He can't be at the front of the room if he is that stupid

        "If your printer is a file why can't you copy it to this sd card?"

        Because it's a write-only file. Everyone knows that.

        1. A.P. Veening Silver badge

          Re: re: He can't be at the front of the room if he is that stupid

          Because it's a write-only file. Everyone knows that.

          O? Ever hear of printer feedback? Like low on ink?

      3. Peter Gathercole Silver badge

        Re: re: He can't be at the front of the room if he is that stupid

        A printer is a really bad example of a device that can't be handled as a file.

        For most printers, you can actually treat their interface as files. You write stuff to them, you read stuff back if you have to. UNIX like operating systems have been doing this for decades.

        The problem now with printers is not that they can't be treated as files, but that the name space that you use to access them is not like a filesystem any more.

        The better example, and this actually does cover modern network connected printers, is communication devices and anything else that may make connections to a system in an unpredictable manner.

        In the past, everything connected to a system was known about, or latterly could be discovered at boot time. This is because systems were largely static. With the introduction of networking (and to a slightly lesser extent hot-plugging of devices using USB), things needed to become more dynamic, because a system could not know everything about the wider environment that it sat in or how it was going to change. For example, in even in a simple network involving DHCP, with dynamically allocated IP addresses, things come and go, and you need to find some way of addressing this. People tried to make DNS cope by attempting to integrate the DHCP servers with the DNS servers, so you could use a name-space to try to address things. But it does not always work, so other methods involving the use discovery methods like mDNS were invented, and suddenly the world no longer looked like a filesystem.

        I understand that there needed to be another abstraction layer to cope with this, but the mechanisms that were invented are largely opaque, and involve namespaces that are difficult for a mere human to understand.

        Going back to printers. In the olden days, a printer was attached to a serial line, or some form of parallel interface, or in some cases more complicated connections like IBM Channels (yes, I've used channel connected printers on UNIX). In all of these cases, you had a kernel level device driver or module that was normally presented to the users as an entry in /dev, named appropriately for the type of device, and you could open this device as a file and write (and read) from it.

        When things like USB became common, the configuration of a plugged in device was handled by a system such as udev that often created an entry in /dev, which was named appropriately for the type of device, and you could open this device as a file and write (and read) from it. And USB printers were handled this way. It was important for the older printing systems on Linux that a device plugged in always resolved to the same name, a real limitation, but this has changed with later versions of Cups which are somewhat more dynamic by hashing together various pieces of information to create a resource locator.

        But now, you have to run a mdns discovery service to find things like printers. And to my dismay, I've just found out that Agent P was one of the co-developers of Avahi, which is one of the Zeroconf systems used by Linux! And even USB connected printers plug into this system, so you no longer get entries in /dev for printers.

        The name space used by these services is not like a filesystem, and the way to access the devices discovered is less like opening a file and writing to it, and more like opening a connection to a network device and writing to it (which it really is). But this is complicated, and quite obscure (do you know the connection address of your WiFi printer? Do you care? What if you want to access it outside of Cups?), and in my view is not suitable for things like USB connected printers.

        So I would say that it is not the printer that does not look like a file, it is the way that the printer is discovered and addressed that makes it look not like a file.

    2. nijam Silver badge

      > "Sorry, but my printer is not a file!"

      Who is it that has always claimed a printer is a piece of software, not a piece of hardware, again?

      1. captain veg Silver badge

        And who has always had it that a file is nothing but a stream of bytes? Why, the authors of Unix!

        -A.

  16. Fred Daggy Silver badge

    The letter not the spirit.

    This software obeys the letter of the GPL licence, but fails to take the sprit of open source software. Sort of like a monopoly state run store. The bazar has only one stall and one product here. Your choices are “yes” and “not no”.

    The problems that systemD solves were not mine and indeed I need not repeat the problems that it has created. 5 seconds faster booting is a saving rarely. Unexplained “features” kill my time so much more frequently.

    Slackware since, oh gawd, I forgot when. But have dallied with other distributions.

    1. Anonymous Coward
      Anonymous Coward

      Re: The letter not the spirit.

      "! 5 seconds faster booting is a saving rarely. "

      That alone labels P. as a patentable, self-centered moron: 5s every .... what, exactly? Every 6 months? Even windows machines are booted only once per month nowadays.

      "Slackware since, oh gawd, I forgot when. But have dallied with other distributions."

      I remember, version 3.1, 1996. Two boot floppies and machine had a network, then the rest from university repository via glorius 10Mbps Ethernet, piece of cake.

      I'm quite sure I still have the floppies somewhere. No idea if they still are readable.

  17. Inkey
    Coat

    Good luck finding a working flopoy drive...

    1. Peter Gathercole Silver badge

      I have several! When I dispose of systems, I tend to remove anything that I think may be of use, so I have boxes of hard drives, memory, floppy drives and interface cards.

      I while back I realised that all the mobo's I had were PCI, so out went all of the ISA adapter cards.

      The last time was involved in a build of a larger deskside system with an ATX mobo (just over a year ago), I noticed that they still have connectors for floppy disks, although the smaller systems and laptops have lost them, and for those you would need to use a USB connected floppy, which may not work for all purposes. Almost certainly not for booting floppy versions of Slackware, as these probably pre-date USB chipset support.

  18. kmorwath

    Those who do not understand Unix are condemned to reinvent it, poorly

    That sentence is true, but not in the way most of you think. Those who don't UNDERSTAND Unix, but just WORSHIP it blindly, are incapable to understand its many design flaws and mistakes, so are doomed to repeat them, and reinvent a poor operating system alike it, just it was done with Linux, instead of deigning a better one. So we are still here with a fifty year old design showing all its outdated designs, like its tty interfaces.

    And speaking about printers, the author of the article shows exactly that. If as a low level device a printer gets a stream of bytes - it's at the of a USB or Ethernet connection, how could you send that to it otherwise? - from an application point of view a printer is not a file, it's much more alike a graphic card, it's a "canvas" where the application set the page size and draws upon it. Then sure, some process has to convert that in a stream of data to be sent to the printer, but if you want a true high level printer API that cannot be a file-like API. That's something Windows got right with GDI in 1990 - thirty years ago. Linux got CUPS, which will be even worse in the upcoming version, because advanced printer features are "garbage" for their maintainers. And many actual high-end photo printers don't use Postscript-

    Of course in 1970 printers were just teletypes printing lines, time to move on from there - even for CLI windows.

  19. Grunchy Silver badge

    Friggin

    This should be straightforward, but no chance it WILL EVER WORK!

    sudo mount --bind /home/grunchy/libvirt\ images /var/lib/libvirt/images

    This works fine! But it won’t work in /etc/fstab:

    #work, damn you!

    /home/grunchy/libvirt\040images /var/lib/libvirt/images none bind

    Why?! Who the hell knows? Incidentally, the clue is that / is 200GB non-encrypted and /home is 3.3TB encrypted. <-- this makes sense to do!

    sudo mount -a

    Yep that works, but NEVER on boot up.

    crontab -e

    @reboot * /opt/scripts/stupid.sh

    Not a chance!

    /etc/systemd/system/stupid.service

    Not a chance!

    This is on Mint, btw.

    /etc/rc.local

    No Go.

    There’s a hundred ways to skin the cat and they ALL FAIL.

    My suspicion is that the /home hasn’t decrypted and mounted yet causing the other mount to flop, so you would think sleep 10 might give it a chance, or dmesg might throw a clue, and NO, nothing works!

    Gave up and reconfigured virt-manager json config thingy to just point to /home by default.

    (I could never remember where the heck /var/lib/libvirt/images had put all my Qcows anyways.)

    </flame>

  20. Blackjack Silver badge

    Just like pipewire is replacing pulseaudio we need to replace systemd.

  21. withQuietEyes

    This does at least explain the impressive number of "I <3 systemd" shirts I saw.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like