Systemd 259候选版新增musl支持,但功能限制颇多

Systemd v259-rc1发布,这是Linux系统中最广泛使用的系统服务管理器的下一版本预览。最重要的更新是新增了对musl libc的不完整支持,使systemd能够在Alpine Linux等轻量级发行版上运行。然而该支持存在重大功能限制,包括nss-systemd、DynamicUser等功能无法使用。此外,新版本还改进了内存溢出处理器、增强了用户空间设备管理、支持可配置日志级别,并对systemd-boot引导程序进行了多项改进。

Systemd v259-rc1作为下一版本的首个预览版发布,这是Linux世界中使用最广泛的系统和服务管理器。此次更新最显著的变化是新增了对musl libc的不完整支持,这意味着systemd现在可以在非GNU C标准库的Linux发行版上编译和运行。

musl支持的重要意义

这项支持的推动力来自postmarketOS项目,该项目致力于为厂商不再支持的智能手机提供开源解决方案。PostmarketOS基于Alpine Linux构建,而Alpine使用musl库,因此开发者提交了允许systemd针对musl而非glibc编译的代码。

不过,这项支持存在重大功能限制。由于NSS或等效功能不可用,nss-systemd、nss-resolve、DynamicUser、systemd-homed、systemd-userdbd等功能将无法工作。官方在发布说明中谨慎表示,对musl的支持"不保证在未来版本中继续提供",将根据维护兼容性层所需的工作量、特定错误报告数量以及用户和发行版的反馈来决定。

其他重要功能更新

内存不足终止器systemd-oomd进行了多项改进,现在报告更多跟踪信息以帮助调试。多个代码部分改进了对Varlink进程间通信协议的支持。

内置用户空间设备管理和GUID分区管理模块在多个方面得到改进,包括动态重新读取分区以及将LUKS加密分区与未加密分区分别命名。

工具现在支持可配置的日志级别,systemd日志默认自动持久化。作为sudo替代品的run0命令现在可以临时"授权"非特权用户,并可在指定根目录中调用命令。

systemd-boot引导加载器的变化

此版本还对systemd-boot替代引导加载器进行了改进。与大多数发行版仍使用的GRUB不同,systemd-boot仅适用于UEFI,并将文件直接存储在EFI系统分区中。这需要更多空间,新版本收紧了对XBOOTLDR分区的要求,必须格式化为计算机固件可读的简单文件系统。

对System V样式初始化脚本的支持继续被弃用,尽管完全移除已推迟到systemd 260版本。

Q&A

Q1:systemd 259对musl的支持有什么限制?

A:虽然新增了对musl libc的支持,但存在重大功能限制。由于NSS功能不可用,nss-systemd、nss-resolve、DynamicUser、systemd-homed、systemd-userdbd等功能将无法工作。官方表示这是不完整的支持,且不保证未来版本继续提供。

Q2:为什么systemd要支持musl?

A:推动力主要来自postmarketOS项目,该项目为厂商不再支持的智能手机提供开源解决方案。由于postmarketOS基于使用musl库的Alpine Linux,为了更好支持GNOME和KDE Plasma的移动版本,开发者提交了相关代码。

Q3:systemd-boot与GRUB有什么不同?

A:systemd-boot仅适用于UEFI系统,将Linux内核和initramfs文件直接存储在EFI系统分区中,而GRUB将这些文件保存在Linux文件系统的/boot文件夹中。systemd-boot需要更多存储空间,并要求分区格式化为固件可读的简单文件系统。

来源:The Register

0赞

好文章,需要你的鼓励

2025

11/21

08:09

分享

点赞