Systemd 257 Released, Here’s What’s New

Systemd 257 released with major updates: revamped tmpfiles purge, JSON public API, improved device handling, and future-proofed kernel support.

Systemd, a widely adopted system and service manager for Linux, released its latest iteration, v257, introducing a mix of groundbreaking updates, reworked functionality, and a glimpse into planned future removals.

The new release includes several incompatible changes to refine functionality and improve user experience. For instance, the --purge switch of systemd-tmpfiles now applies only to entries marked with the new $ flag. This adjustment reduces the risk of unintentional file deletions but requires updates to existing configurations.

Another significant change impacts systemd-creds: its cat verb now demands base64-encoded encrypted credentials, aligning its behavior with the decrypt verb. Meanwhile, support for automatic flushing of the nscd user/group database caches has been dropped, signaling a shift toward alternative mechanisms.

The way socket units handle the FileDescriptorName= setting has also been updated. It now functions correctly for Accept=yes sockets, offering better consistency in handling connections.

Systemd 257 also introduces a slew of new features designed to streamline system and service management. A standout addition is the ability for .timer units to use the DeferReactivation= option. This prevents immediate reactivation of services if a timer elapses while the service is still runningโ€”a small but impactful change for administrators managing recurring tasks.

Similarly, introducing the RestartMode=debug setting allows administrators to restart failing services with enhanced logging enabled, aiding debugging.

For those working with network configurations, the update brings support for IPv6 address labels in systemd-networkd. Additionally, bridge devices now support layer-2 Multicast Database (MDB) entries, improving multicast handling on bridge networks.

Moreover, systemd is becoming increasingly versatile, as evidenced by new features like the public availability of the sd-json API within libsystemd. This tool simplifies the creation and serialization of JSON structures in C code, opening doors for developers needing JSON handling in low-level system tools.

Regarding systemd-boot, bootctl now extends compatibility with devices that use volume up/down rockers instead of traditional arrow keys. In addition, support installing UEFI Secure Boot databases (db/dbx in ESL format) has been added.

The update also introduces support for .profile and .dtbauto sections in Unified Kernel Images (UKIs). These enhancements allow multiple profiles (e.g., factory reset, debugging) to be stored in a single UKI, with systemd-stub automatically loading the appropriate one based on the hardware environment or kernel command line.

On the features removal side, certain legacy ones are being phased out. The upcoming version 258 will remove support for cgroup v1 hierarchies and System V service scripts, urging users to adopt cgroup v2 and native systemd unit files.

Furthermore, the team plans also to discontinue support for the SystemdOptions EFI variable, signaling a shift toward more modern alternatives like credentials and configuration extensions.

It’s worth noting that keyboard mapping changes are on the horizon, impacting how certain keys are interpreted in X11 environments. In light of this, users are advised to update their xf86-input-evdev and xf86-input-libinput packages before upgrading to v258.

Lastly, the update to systemd-repart includes new options for compression and symlink creation, catering to advanced partition management needs. Similarly, systemd-sysupdate introduces JSON output support and download progress reporting via sd_notify(), making it more intuitive to track system updates.

For those leveraging TPMs, systemd-cryptsetup now supports combined signed PCR policies, enabling robust security configurations for disk encryption.

For more information about all changes in Systemd 257, visit the full changelog on GitHub.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Think You're an Ubuntu Expert? Let's Find Out!

Put your knowledge to the test in our lightning-fast Ubuntu quiz!
Ten questions to challenge yourself to see if you're a Linux legend or just a penguin in the making.

1 / 10

Ubuntu is an ancient African word that means:

2 / 10

Who is the Ubuntu's founder?

3 / 10

What year was the first official Ubuntu release?

4 / 10

What does the Ubuntu logo symbolize?

5 / 10

What package format does Ubuntu use for installing software?

6 / 10

When are Ubuntu's LTS versions released?

7 / 10

What is Unity?

8 / 10

What are Ubuntu versions named after?

9 / 10

What's Ubuntu Core?

10 / 10

Which Ubuntu version is Snap introduced?

The average score is 68%