systemd 258:删掉 cgroup v1 和 initctl,最低内核要求提到 5.4
systemd 258 于 2025-09 发布。这一版以删为主:cgroup v1 彻底退场,System V 风格的运行级控制被整个拿掉,内核基线也随之抬高。
不兼容变更
- 彻底移除 cgroup v1(legacy/hybrid 层级),只挂载 cgroup v2(unified)。开机流程与
systemd-nspawn容器初始化都只走 unified。 - 最低内核基线提到 5.4(2019),推荐 5.7。
- tty/pts 设备节点默认权限从
0620改为0600,效果上等同默认mesg n。要恢复旧值需要用-Dtty-mode=0620重新编译。 systemd-resolved与systemd-importd只支持 OpenSSL,去掉 GnuTLS 与 libgcrypt 后端。- 移除 System V 风格的系统状态控制:
/dev/initctl节点、initctl/runlevel/telinit命令、runlevel[0-6].target,以及 runlevel 概念本身都删了。 - 移除传统的
/forcefsck、/fastboot文件控制方式,fsck 改用fsck.mode=内核参数或fsck.modecredential;quotacheck 同理改用quotacheck.mode=。
新特性
PrivateUsers=full,映射整个 32 位 UID 空间;新增ProtectHostname=private。- slice 单元新增
ConcurrencySoftMax/ConcurrencyHardMax,用于基础的工作负载并发管理。 StateDirectoryQuota=/CacheDirectoryQuota=/LogsDirectoryQuota=等按单元设置目录配额,依赖 xfs/ext4 的 project quota,不支持 btrfs。ConditionVersion=可以检查多个组件的版本。- 新增
systemd-factory-reset工具,用于触发或取消出厂重置。 systemd-stubv258 需要 ukify v257.9+ 来构建 UKI。- 网络侧:DNS delegate zones;networkd 的 IPv4 DAD 默认缩短到 200ms;新增 MPLS 路由、BOOTP,以及 bridge/VXLAN/HSR 的新选项。
259 计划移除
- System V 服务脚本。
- 旧的
/run/lock/目录。 - networkd 与 nspawn 中的 iptables(libiptc)支持——259 起只用 nftables。
来源:github.com/systemd/systemd v258 NEWS、lwn.net。