Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Unix Linux

Version 256 of systemd Boasts '42% Less Unix Philosophy' (theregister.com) 133

Liam Proven reports via The Register: The latest version of the systemd init system is out, with the openly confrontational tag line: "Available soon in your nearest distro, now with 42 percent less Unix philosophy." As Lennart Poettering's announcement points out, this is the first version of systemd whose version number is a nine-bit value. Version 256, as usual, brings in a broad assortment of new features, but also turns off some older features that are now considered deprecated. For instance, it won't run under cgroups version 1 unless forced.

Around since 2008, cgroups is a Linux kernel containerization mechanism originally donated by Google, as The Reg noted a decade ago. Cgroups v2 was merged in 2016 so this isn't a radical change. System V service scripts are now deprecated too, as is the SystemdOptions EFI variable. Additionally, there are some new commands and options. Some are relatively minor, such as the new systemd-vpick binary, which can automatically select the latest member of versioned directories. Before any OpenVMS admirers get excited, no, Linux does not now support versions on files or directories. Instead, this is a fresh option that uses a formalized versioning system involving: "... paths whose trailing components have the .v/ suffix, pointing to a directory. These components will then automatically look for suitable files inside the directory, do a version comparison and open the newest file found (by version)."

The latest function, which The Reg FOSS desk suspects will ruffle some feathers, is a whole new command, run0, which effectively replaces the sudo command as used in Apple's macOS and in Ubuntu ever since the first release. Agent P introduced the new command in a Mastodon thread. He says that the key benefit is that run0 doesn't need setuid, a basic POSIX function, which, to quote its Linux manual page, "sets the effective user ID of the calling process." [...] Another new command is importctl, which handles importing and exporting both block-level and file-system-level disk images. And there's a new type of system service called a capsule, and "a small new service manager" called systemd-ssh-generator, which lets VMs and containers accept SSH connections so long as systemd can find the sshd binary -- even if no networking is available.
The release notes are available here.

Version 256 of systemd Boasts '42% Less Unix Philosophy'

Comments Filter:
  • Unix philosophy (Score:5, Informative)

    by Local ID10T ( 790134 ) <ID10T.L.USER@gmail.com> on Friday June 14, 2024 @06:44PM (#64550153) Homepage

    For those who are too young to know:

    Do one thing. Do it well.

    • Re:Unix philosophy (Score:5, Insightful)

      by Anonymous Coward on Friday June 14, 2024 @06:46PM (#64550163)
      So by having less Unix philosophy, systemd aims to do many things, and do them poorly!
      • Re: (Score:2, Funny)

        by Anonymous Coward

        It's only 42% less Unix philosophy, not 100%, so it's "Do many things. Do it well".

        (it can't be "Do one thing. Do it poorly" since everybody knows that Systemd is a beast that does everything)

      • Yup, kind of a terrifying attitude for systemd to have when it is adding run0 to its portfolio.

        Basically a root exploit waiting to happen.
        • Sudo neither does one thing, nor does it do so well. And has a pretty abysmal track record because of how it's implemented. ..BTW, "unix philosophy" is *simplicity of implementation* over all else. Even over correctness and (especially) consistency.

          systemd's run0 uses the exact sort of process isolation that sshd uses, and most of what relies on has been part of core systemd since the beginning -- ya know, being able to launch commands as various users and clean up leftover messes afterwards.

          • by martin-boundary ( 547041 ) on Friday June 14, 2024 @09:44PM (#64550563)
            Sorry, no. Unix philosophy is not "simplicity of implementation", but you do tend to get that as a by-product.

            The Unix philosophy is about composability. The phrase "do one thing and do it well" is about encouraging composability. Some tools are quite complicated and tricky to get right, eg the LaTeX compilers. And that's as it should be.

            The full Unix philosophy is a modular philosophy. The modules are specialized tools in the form of binaries and scripts that all have a simple common interface: STDIN, STDOUT, STDERR and the command line arguments. Crucially, these things can be snapped together like LEGO as long as this common interface is used. And they can be inspected and debugged as long a plain text is consistently used.

            Composability means when you snap the modules together the outcome still looks like a module with the same STDIN, STDOUT etc interface. In this way you get infinitely many modules that do higher level things forever,and these modules can be bult in 5 minutes by a nontechnical user of the system, on an as needed basis, no programming necessary. It's your system,you can make it do what you want without any help from strangers.

            Some complaints about systemd and many other non-Unix style software that exists on Linux are

            1) they make up their own crazy interface that deprecates the STDIN, STDOUT etc interface, so cannot be used as a module to enhance the functionality of the Unix-philosophy operating system through composability.

            2) because of 1), they keep adding more functionality internally, leading to bloat and NIH syndrome, because they have to reinvent everything that already exists somewhere else since they have no useful interface to those existing tools.

            3) because of 2), there is no quality control and quality improvement over long timeframes, because new stuff gets bolted on, but that new stuff is not best of breed, it's just a half assed implementation by someone who isn't qualified to make specialized software. Furthermore that half assed functionality is constrained by irrelevant software design issues from the base package due to bloat.

            4) With a collection of bloated software you get multiple half assed implementations of the same functionality on your system, every time you install a new tool you get a bundle of unnecessary duplication. Contrast with a composable modular system: when you install a module, it does what you ask and no more. You install what you want only. If you find a better module somewhere for some task, you can replace just that module without affecting the rest of your system.

            TLDR: the Unix philosophy is letting experts create highly focused software that does a single thing and is world class at it, so that ordinary users can use that thing everywhere they want it, or nowhere if they don't want it.

            • by AmiMoJo ( 196126 )

              Your comment just proves the point. The STDIN/STDOUT/STDERR interface is really bad. It's freeform text with near zero consistency. Sometimes tools have special options to simplify or regularize the output, but often you have to use another text processing tool to parse it and extract the information you want.

              The result is combinations that work, but which are brittle and rely on the tools never updating their output too much. Debugging is a pain as there is rarely any facility for error handling or even er

              • It's instructive to compare the composability of Unix tools with Microsoft's attempt at doing composability more precisely (to address your criticism) via collections of objects eg COM/Corba/ActiveX/PowerShell etc.

                It's all variations on the same underlying idea of a typed object having properties and methods. Two such objects can communicate and agree on what things they want to share and how to do it in the most efficient, binary, way. An object can always be queried to find out its capababilities, old o

          • by Anonymous Coward on Saturday June 15, 2024 @04:17AM (#64551001)

            Posting AC, just because.

            If you point to -anything- security related to systemd, lets get one thing straight. The code has not been audited or vetted by a third party. It is one huge code blob that has had remote root holes in the past.

            For something that is the gatekeeper to secure systems, it never was asked for; it was forced on everyone without any real reason. Yes, it has some cool functionality like setting limits, but a far leaner package could do the same stuff without having to listen on network ports or deal with fundamental UNIX authentication.

            run0 seems like something that is just asking for local privilege escalation issues. Has any real security guys checked this out, much less done a formal audit? Most likely not.

    • Re:Unix philosophy (Score:5, Insightful)

      by ebunga ( 95613 ) on Friday June 14, 2024 @06:46PM (#64550165)

      systemd: do everything poorly and be an aggressive asshole about it

      • Re:Unix philosophy (Score:5, Informative)

        by 93 Escort Wagon ( 326346 ) on Friday June 14, 2024 @06:52PM (#64550183)

        systemd: do everything poorly and be an aggressive asshole about it

        There's a reason Microsoft hired Poettering away from Red Hat...

        • by gweihir ( 88907 )

          I wonder whether it was all just to have him continue to try to destroy Linux.

          • Re:Unix philosophy (Score:5, Interesting)

            by ebunga ( 95613 ) on Friday June 14, 2024 @08:34PM (#64550409)

            I think it's less nefarious. It seems to me systemd was adopted in order to sell linux support contracts. Microsoft, which runs a shocking amount of linux, hired Pottering because it was cheaper to have him on staff to fix the crap than to pay Redhat.

            • Remember that Microsoft was under investigation for monopolistic practices for many years, so their first choice of Embrace, Extend, Destroy Linux by buying up Redhat or aggressively attacking them would have raised too many eyebrows. But Bill Gates is pretty old now and doesn't fear the DoJ as much as before, so he's unshackled Nadella to go aggressive on the competition. EED is definitely back
            • Re: (Score:3, Insightful)

              by thesupraman ( 179040 )

              Very much this, Redhat almost certainly forced SystemD in to boost its services/support contract income, as it made the whole thing hugely less manageable and added a vector for continuous change.

              This keeps a mountain of Windows admins in high paying jobs doing very little, and that was 'the dream' I expect.

              • by gweihir ( 88907 )

                Probably. Systemd is certainly not there to make things simpler and easier to understand.

      • by gweihir ( 88907 )

        That does fit scarily well.

      • Re:Unix philosophy (Score:5, Interesting)

        by bill_mcgonigle ( 4333 ) * on Friday June 14, 2024 @08:39PM (#64550417) Homepage Journal

        The primary aggressive assholes on this topic are the ones who insist every distro they don't volunteer for are somehow crazyevil for using systemd and need to switch back.

        I'm happier with it and I'm happy that you like sysv or upstart or initd or whatever.

        And that you like distros that use them.

        But, heck, I remember when sysv init came along and I had to learn new things for that! I still use busybox sysv on 64MB devices - works great for many simple cases.

        I do lots of complex stuff with systemd that would otherwise require features added to every single daemon where security is tricky.

        • Re:Unix philosophy (Score:4, Interesting)

          by MeNeXT ( 200840 ) on Friday June 14, 2024 @09:30PM (#64550539)

          And yet it fails on a random upgrade to start Apache.

          The primary aggressive assholes on this topic are the ones who insist every distro they don't volunteer for are somehow crazyevil for using systemd and need to switch back.

          Who's an aggressive asshole?

        • by oddtodd ( 125924 )

          +1 Amen

        • by hawk ( 1151 )

          > the ones who insist every distro they don't volunteer for are somehow crazyevil for using systemd

          nah, that's silly.

          They think the distros that they *did* volunteer for that use system are also evil!

        • by dargaud ( 518470 )

          I do lots of complex stuff with systemd that would otherwise require features added to every single daemon where security is tricky.

          Like what ? Just curious as I've never met a use case for systemd that couldn't be done more simply with sysV+cron

    • systemd does 1-0.42 = 0.58 things well.

      Now where is my copy of the Hitch Hiker's Guide. It talks about 42 as well ... I recall it mentioning something about something being fundamentally wrong with the systemd. Might be misremembering a detail. :-)

    • by gweihir ( 88907 )

      Also an all time classic of all solid engineering.

      Well, the future demise of systemd by even more stupid crammed in there does not concern me. I do not run that piece of crap.

    • Well at least they're being up front about the *nix content. At what point will it be 100% *nix-free Philosophy and will it look like a poorly implemented version of Windows 95 - bugs and all?

      I moved onto Devuan years ago as my daily driver. I'm test driving the various BSDs ...just in case.
    • For those who are too young to know:

      Do one thing. Do it well.

      Which philosophy is it that enables statements like “now with 42% less Unix Philosophy”?

      Headlines; now with 34% more clickbait and 30 grams of bullshit per serving.

    • Re:Unix philosophy (Score:5, Insightful)

      by markdavis ( 642305 ) on Friday June 14, 2024 @11:08PM (#64550691)

      >"Do one thing. Do it well."

      That is one of many things, but probably the primary one. The full list by Doug McIlroy (inventor of Unix pipes), summarized, is:

      1) Write programs that do one thing and do it well. (Systemd fails)

      2) Write programs to work together. (On this, Systemd is questionable)

      3) Write programs to handle text streams, because that is a universal interface. (Again, Systemd fails in some ways)

      I would add things like plain-text logs, configuration files, and man pages, built in --help, somewhat standardized command-line options, etc. Another is "everything is a file", although that didn't age quite as well in some ways. Others have added more to thoughts what made Unix (and later, Posix/Linux) so successful. Here is a good links:

      https://cscie26.dce.harvard.ed... [harvard.edu]
      https://linfo.org/unix_philoso... [linfo.org]

      Anyway, I can't deny that systemd has brought about some nice things (super-fast booting, additional functionality, and some good security practices, for example). But on the other hand, I also hate it. It tries to do too much and it intentionally breaks long-understood processes, commands, and configuration.

    • Ah, that philosophy? I walked all the way for it, from the Windows camp to the Linux one. Note to systems devs: If I wanted Windows philosophy, I'd return to Windows.

      • Torvalds has been very clear from the very beginning, that he couldn't give two squirts of piss for "The UNIX philosophy".

        And he's right.

        Linus has no problem with systemd (though he's had his share of problems with Poettering)

        And he's right.

        You can try to No True Scotsman it all day long, but at the end of the day, systemd is now the de facto linux philosophy.
    • by e3m4n ( 947977 )
      I thought it was ‘everything is a file’.
    • Except there are exceptions to every rule, I find it funny that the people most vocal about their hate for systemD also love X windows system.
  • by Kazymyr ( 190114 ) on Friday June 14, 2024 @06:49PM (#64550171) Journal

    That's what my Linux systems have.

  • Re: (Score:2, Insightful)

    Comment removed based on user account deletion
  • by organgtool ( 966989 ) on Friday June 14, 2024 @06:53PM (#64550187)

    Before any OpenVMS admirers get excited, no, Linux does not now support versions on files or directories

    I've been working on this as a hobby, but it's far from being anywhere near ready for production. At the moment, you can mark a file to be versioned and any changes to that file will generate a new version. In the future, I'd like to make use of deduplication so that each version only stores the data blocks that have changed. I'm hoping this project will help me transition to a position as a full-time Linux developer and maybe even allow me to work on this project full-time so that I can accelerate my progress.

    • Please don't call this file versioning feature Linux Recall(TM). It will never be accepted!
    • I do this now and it's not that hard, at least for text files that I edit which is usually all I care about versioning.

      mkdir ~/.vi # do this once
      vi ~/bin/edit ; chmod 755 ~/bin/edit # create this file

      #!/bin/bash
      VIDIR=$HOME/.vi
      for a in $*
      do
      f=`basename $a`
      i=1
      while [ -f $VIDIR/$f.$i ]

      • Plenty of people use git to keep versioned edits of small configuration files around. It's not difficult to integrate an automatic commit into a bash function like you're suggesting above. One major benefit of git is that you get versioning of your files across multiple servers for free.
        • git doesn't preserve ctimes. fail, fail

        • Git works well for developers, but it's far too complicated for average users, it doesn't automatically commit on every change, and it has far more complexity since you need to add all of the files you don't want to version into .gitignore. That's still pretty good for many situations if you know how to use it, but automated versioning would be easier to use.
      • That would work well for a single user, but it doesn't create versions if the file is edited outside of vi, is edited by another user, or is edited by Linux itself.
      • by SirSlud ( 67381 )

        That's adorable.

        Saying "I do that" when the discussion is versioning at the file level layer rather than the application file layer is .. well, cute I guess.

  • How much now? 2^-256 sounds about right.

  • by ArchieBunker ( 132337 ) on Friday June 14, 2024 @07:16PM (#64550249)

    Now if Pottering had only come out and said that in the first place. We all knew.

  • by awwshit ( 6214476 ) on Friday June 14, 2024 @07:20PM (#64550253)

    Where does Poettering work again?

  • That's truly sad. (Score:5, Insightful)

    by johnnys ( 592333 ) on Friday June 14, 2024 @07:22PM (#64550261)
    I want MORE UNIX philosophy, not less.
  • by quantaman ( 517394 ) on Friday June 14, 2024 @07:25PM (#64550269)

    There's nothing about "42% less Unix philosophy" in the announcement.

    What happened, is one Systemd developer reposted the release announcement to Mastodon and added the "42% less Unix philosophy" line to troll the folks who always complain about Systemd on those grounds.

    So basically random people trolling on social media is making it into /. stories now.

  • ... and Poettering will reveal his new OS, Lennux.

    No kernel, no utilities, no shells, no X, only systemd, and bundled general software which will be replaced by systemd versions at a later date.

    I heard some technological species in the Delta quadrant or so is already investing in it.

  • by schweini ( 607711 ) on Saturday June 15, 2024 @01:17AM (#64550829)
    "Those who don't understand UNIX are doomed to reinvent it, poorly." --Henry Spencer.
  • by 93 Escort Wagon ( 326346 ) on Saturday June 15, 2024 @01:59AM (#64550861)

    More proof that Zawinski's Law is immutable truth.

  • ...which I will not use. Why are they not fixing bugs?
  • by nukenerd ( 172703 ) on Saturday June 15, 2024 @05:09AM (#64551035)
    Why are we allowing a Microsoft employee to control the direction of Linux? You would think at least that Debian would get themselves out of this shit, even if Red Hat won't.

    Debian could pick things up again from where Devuan is. Meanwhile I'll stick with Devuan.
  • It almost looks that way with the systemd trying to do everything and taking over the world within Linux.
  • He's finally come out of the closet as anti-Linux. I'm completely sure that his long term plan is to replace every component of a Linux distribution with his own philosophical/engineering ideal. And the fucking morons in charge of every other distro just let him keep eating the universe.

  • Now I know their exact motivations and goals, I’ll start happily making sure my systems going forward reach towards 100% less systemd junk.

    And there I was thinking: "Well, I hate it but I'll just live with it to keep life simple".

    Off to Devuan, oh and I've been planning to have a go a Linux From Scratch for decades now and they too have a systemd free build.

    Oh and I might finally say hi to Slackware, been using GNU/Linux since 1998 and only toyed with Slackware once.

    Why? Why will I do this?

    Because I b

Machines certainly can solve problems, store information, correlate, and play games -- but not with pleasure. -- Leo Rosten

Working...