Version 256 of systemd boasts '42% less Unix philosophy'
And it's subsuming another bit of Linux by replacing sudo
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.
Systemd 255 is here with improved UKI support
READ MOREVersion 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." In other words, sudo does some black magic to make the OS treat a command run by an ordinary, unprivileged user – that's you, peon – as if the superuser, "root," ran that command instead. It's a very old command, dating back to 1980, but it only went mainstream early this century. It was soon so accepted that even by 2006, it was the subject of comics.
Mr Poettering regards this hocus-pocus as a Bad Thing:
In my ideal world, we'd have an OS entirely without SUID. Let's throw out the concept of SUID on the dump of UNIX' bad ideas.
The new alternative does no such sleight of hand. Instead, it just gets the systemd daemon to run the command for you, using a special form of the existing systemd-run
command.
- Linux for older phones postmarketOS changes its init system
- Systemd 255 is here with improved UKI support
- Version 5 of systemd-free Debian remix Devuan is here
- Soft-reboot in systemd 254 sounds a lot like Windows' Fast Startup
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.
We suspect that, as usual, many old xNix hands will grumble that this sort of functionality doesn't belong in an init
system. This is arguably true, but the rise of systemd now seems inexorable. A clear majority of distros now use it, and new converts are still appearing. There are still some holdouts, and FreeBSD is right there as a safe space.
The release notes contain a full list of changes, and the project lead has a list of threads describing the new functionality and the reasoning behind it. ®