systemd 259:支持 musl、安全性和密钥变更

最后更新: 1月16,2026
  • systemd 259 引入了对 musl 的实验性支持,并通过仅关注 TPM 2.0 来加强启动安全性。
  • 此版本对 run0、systemd-oomd 和内部基础架构进行了改进,增加了新的 IPC 功能和并行模块加载。
  • 最低系统要求正在提高,使 systemd 与现代平台保持一致,并淘汰过于老旧的环境。
  • 像 Linux Mint 22.3 这样的稳定​​发行版采取了更为保守的方法,集成了以前版本的 systemd,并优先考虑桌面体验。

systemd 259 支持 musl

随着systemd 259 的发布,Linux 生态系统再次迎来重大变革。作为 GNU/Linux 系统中应用最广泛的系统框架,systemd 259 版本在兼容性、安全性和资源管理方面进行了深远的改进,远非简单的例行更新所能涵盖。尽管许多新特性都属于技术层面,但它们对发行版、管理员和高级用户都具有直接的影响。

在此版本中,systemd 迎来关键性转变:它允许 musl作为 glibc 的替代方案,收紧了最低系统要求,强化了对 TPM 2.0 安全启动的支持,继续推广 run0 作为 sudo 的替代方案,并改进了 systemd-oomd 的行为以更好地控制内存消耗。所有这些改进都保持了该项目多年来一贯的庞大而又充满争议的特性。

systemd,现代 Linux 的核心和争议性组件

如今,systemd 已成为大多数通用 GNU/Linux 发行版的默认系统框架:它管理启动、服务、日志记录、用户会话以及大量以前分散在多个工具中的底层任务。其不断集成更多功能的理念使其在系统中占据了极其重要的地位。

这种集中管理关键流程、依赖关系和工具的能力使其得到广泛应用,但也引发了社区内部的激烈争论。对许多人来说,它简化了管理并规范了实践;而对另一些人来说,它则代表着单点故障和难以审计的复杂性,因为太多职责集中在同一个项目中。

近几个版本以来,systemd 的开发节奏一直非常快,频繁的发布不断添加新的组件、接口和内部改进。systemd 259 完美契合了这一趋势:它不仅带来了细微的调整,还做出了影响发行版编译方式、系统启动方式以及压力下资源管理方式的战略性决策。

在此背景下,systemd 259 成为 C 库兼容性、安全硬件支持、权限提升工具和平台要求方面的一个转折点,进一步巩固了 systemd 在操作系统核心中的地位。

对musl的实验性支持:告别glibc的垄断

systemd 259 兼容性更新

最引人注目的进展是systemd 259 中出现了对 musl 的实验性支持。在此之前,该项目与 glibc(大多数传统 GNU/Linux 发行版的参考 C 库)有着非常紧密的联系。

musl 本身是一个轻量级的 C 库,在极简系统、容器以及注重效率的发行版(例如 Alpine Linux 和其他专注于降低资源消耗和攻击面的发行版)中备受青睐。多年来,systemd 和 musl 之间的关系一直很复杂,正是因为 musl 对 glibc 的依赖。

虽然仍处于实验阶段,但通过这一步骤,systemd 与 libc 的关系不再那么排他。这使得在之前使用其他初始化系统或由于兼容性限制而完全避免使用 systemd 的环境中,将 systemd 与 musl 结合使用成为可能。

这项支持的到来意味着内部需要进行重大更改:编译假设、接口和特定的 glibc 调用都必须进行调整,才能在不破坏预期行为的前提下集成 musl。短期内,这需要发行商和高级用户进行大量的测试,但它为 Linux 生态系统内更丰富的技术多样性奠定了基础。

此举也回应了以往对 systemd 相对于其他 C 库而言“封闭”特性的批评。尽管 musl 在此方面的成熟度尚未达到 glibc 的水平,但已开展的相关工作表明,开发团队显然希望拓展视野,减少对传统 GNU 堆栈的僵化依赖。

更安全的启动方式:systemd-boot 和 systemd-stub 仅支持 TPM 2.0。

systemd 259 安全性和 TPM 变更

systemd 259 版本的另一项重大变更直接影响UEFI 系统上的安全启动。systemd-boot(集成启动管理器)和 systemd-stub(负责在 UEFI 环境中辅助启动)组件不再支持 TPM 1.2,而是完全专注于 TPM 2.0。

  Podman、KVM 和容器:安全虚拟化的实用指南

这项决定的理念在于通过仅支持被认为最稳定可靠且最新的TPM版本来加强安全性。TPM 2.0提供了更强大的加密功能和更灵活的框架,适用于诸如精确启动、完整性验证以及与系统状态关联的密钥密封等场景。

缺点显而易见:仍然依赖TPM 1.2 的系统将无法获得这些功能的支持。实际上,如果硬件没有更新,这可能意味着需要更换主板,或者放弃某些基于 systemd-boot 和 systemd-stub 的安全启动功能。

然而,在许多家庭环境中, Linux 安装中通常会禁用安全启动和 TPM,这既是为了方便,也是因为它们在驱动程序兼容性、替代启动选项或与 Windows 的双系统方面造成了历史性的摩擦。

即便如此,对于依赖TPM 2.0 安全启动链的企业或专业场景而言,这一变化符合行业趋势:它通过消除传统兼容性来简化代码,并降低与旧加密堆栈相关的风险。

run0 作为 sudo 的现代替代方案,其地位日益提升。

systemd 259 run0 是 sudo 的替代方案

在 systemd 生态系统中,最引人关注的工具之一是run0,它被设计用来替代 sudo。几十年来,sudo 一直是类 Unix 系统上以提升权限执行命令的事实标准,但它的设计和配置带有历史遗留的惯性。

systemd 团队正在使用 run0 寻找 提供一种更集成、更可控的权限提升方法版本 259 包含一项关键的新功能:参数 --empower这样,您就可以在不显式切换到 root 用户的情况下,以更高的权限启动新会话。

此选项背后的理念是进一步减少直接使用 root 账户,安全部门始终力求避免或至少尽可能限制这种行为。它不采用以 root 用户身份登录或滥用特权 shell 的方式,而是提出一种基于提升权限会话并具有更精细控制的模型。

尽管如此,并非所有管理提升权限的方法都一样有效,run0 的广泛应用仍处于早期阶段。管理员和分发商需要评估其模式是否比 sudo 更适合他们的特定场景,并考虑审计、与现有工具的兼容性以及已建立的访问策略。

总之,run0 的积极开发表明 systemd不仅限于协调服务,而是旨在涵盖更多层次的系统管理,包括日常权限管理,而这些权限管理直到现在几乎完全委托给了外部实用程序。

systemd-oomd:更好地控制内存密集型进程

就系统稳定性而言,systemd 259 强化了systemd-oomd 作为内存不足管理器的作用。该组件负责在 RAM 耗尽时做出反应,并在整个系统崩溃之前选择性地终止进程。

这项关键的新功能是在服务单元中添加了OOMKills 和 ManagedOOMKills属性。这些属性允许您统计有多少进程被内核或 systemd-oomd 本身终止,从而更清晰地了解内存危机是如何解决的。

当应用程序开始不受控制地消耗内存时(无论是由于内存泄漏、配置错误还是意外负载),此信息尤其有用。通过跟踪内存不足 (OOM) 机制的触发次数,管理员可以检测问题模式并在情况再次发生之前调整限制。

其理念是,系统不会完全阻塞,而是有选择地终止最具破坏性的进程,从而保持整体响应速度。通过 systemd 单元访问这些计数器,可以更轻松地审计哪些服务是导致严重问题的罪魁祸首。

综上所述,systemd-oomd 的改进强化了一个明显的趋势:将自动化资源管理转变为抵御灾难性故障的第一道防线,为系统管理人员提供更详细的指标和更透明的决策。

systemd 259 中的其他内部改进和相关变更

除了主要新闻标题之外,systemd 259 还包含许多技术调整,这些调整完善了框架的不同方面,这些调整可能不会被注意到,但在现实世界环境中却会产生实际影响。

一方面,服务管理器内部用于进程间通信 (IPC) 的 Varlink实现得到了扩展,现在提供了更多功能。这使得外部工具和管理层能够以更丰富、更结构化的方式与 systemd 交互,从而更好地利用其处理的内部信息。

  如何将 Docker、Traefik 和 Portainer 集成到一个完整的技术栈中

systemd-udevd 和 systemd-repart等组件在重新读取块设备上的分区表方面也得到了改进。新方法更加渐进和谨慎,降低了在复杂系统中热插拔分区或操作磁盘时出现不一致或中断的风险。

除了 TPM 的更改之外,systemd-boot现在还包含不同级别的日志记录,这有助于调试启动问题并根据需要调整详细程度:从稳定环境的安静退出到诊断会话的详细日志。

另一个有趣的点是,诸如此类的功能 Linux 审计支持、PAM、libacl、libblkid、libseccomp、libselinux 和 libmount 然后他们被指控 dlopen() 这种策略并非采用标准的动态链接,而是降低了二进制文件的基本大小,从而可以构建更轻量级的环境,尤其适用于容器环境,因为容器并不总是需要全部的库。

此外,systemd-modules-load 现在支持并行加载内核模块,从而加快配置了多个模块的机器的启动过程。随着系统以模块形式集成更多功能,这种并行化有助于更好地利用现代 CPU 的性能。

在加密领域,systemd-integrity-setup 扩展了其支持的算法,现在支持 HMAC-SHA256、PHMAC-SHA256 和 PHMAC-SHA512,从而增强了确保敏感数据和配置完整性的选项范围。

许多管理员会注意到的一项变化是,默认日志存储模式现在是“持久化”而不是“自动”。这意味着,在系统支持的情况下,日志默认情况下会永久保存到磁盘,从而方便进行审计和诊断,而无需手动调整初始配置。

更高的最低要求:仅适用于现代平台

版本 259 还大幅提高了在受支持条件下运行 systemd 的最低系统要求。此举进一步加强了其与更现代平台的兼容性。

在已公布的各项要求中,glibc 2.34 是最低版本要求,这直接排除了依赖非常老旧 C 库的环境。Linux内核版本也必须为5.10 ,不过开发者建议使用 5.14 分支,以获得更符合当前特性的性能。

在密码学领域,OpenSSL 3.0.0 成为新的最低标准,取代了支持周期即将结束的先前版本。该协议栈还包括 cryptsetup 2.4.0 和 libseccomp 2.4.0 等依赖项,这些依赖项对于正确使用加密和隔离功能至关重要。

systemd 259 还要求某些工具和脚本使用 Python 3.9 或更高版本,这意味着如果系统使用较旧的 Python 分支,则需要升级才能在不打额外补丁的情况下保持集成工作流程。

此外,还包含了libxcrypt 4.4.0、util-linux 2.37 等重要组件和其他用户空间库,所有这些组件都旨在统一技术基础,使其版本能够保证安全性并与生态系统的其他部分保持一致。

作为副作用,这些要求可能会限制在较旧的硬件或非常保守的发行版上采用 systemd 259,但同时它们简化了代码维护,并减少了与过时 API 兼容的需要。

对分销和最终用户的影响

实际上,对于大多数桌面用户而言,systemd 更新通常并非关键时刻。在小版本更新发行版(通常定期发布主版本)中,systemd 版本在其整个生命周期内保持不变是很正常的,除非发布重要的安全补丁或稳定性补丁。

喜欢始终使用最新版本框架的用户通常会选择滚动发布发行版,例如 Arch Linux 或 openSUSE Tumbleweed,systemd 259 会很快发布,并迅速集成到更新流程中。

其他项目,例如Fedora,则坚持在每个稳定版本的生命周期内保持 systemd 的主版本不变,这样虽然略微落后于最新的原始版本,但却提供了更大的可预测性。

与此同时,诸如 Linux Mint 或其基于 Ubuntu LTS 的衍生发行版等,其更新速度往往与它们所基于的基础系统保持一致。例如,Linux Mint 22.3 包含 systemd 255 版本,但并未立即采用 259 版本,而是优先考虑稳定性而非追求最新版本。

对于那些不安分的管理员和对新发展充满热情的人来说,始终可以选择在测试环境或滚动发行版中测试 systemd 259,在考虑迁移到生产环境之前,评估其兼容性、对关键服务的影响以及与特定硬件的交互行为。

  Linux 内核优化及延迟降低进阶指南

Linux Mint 22.3 的对比:稳定性与前沿性

作为对比, Linux Mint 22.3 “Zena ”值得一看,它清晰地展现了某些发行版如何在 systemd 生态系统独立发展的同时,优先考虑稳定性。该版本是当前系列的最新更新,推荐给所有类型的用户,并保证提供支持至 2029 年 4 月。

Mint 22.3 基于Ubuntu LTS,采用更新但较为保守的技术栈,并搭载 Linux 6.14 内核,该内核旨在更好地支持最新一代 AMD 处理器。它还包含 systemd 255 和 Mesa 25,从而打造了一个现代化的系统环境,而无需承担升级到每个组件最新版本的风险。

该发行版主要致力于优化桌面体验。其主要环境 Cinnamon 6.6 采用了重新设计的应用程序菜单,更加现代化且灵活,菜单边角圆润,侧边栏则集中了用户快捷方式、位置和常用应用程序。类别不再是重点,而是更加突出应用程序本身。

此菜单不仅外观焕然一新,其内部结构也进行了彻底的重构,采用了更现代化的代码,从而优化了键盘导航、内容刷新和未来的维护。其目标是为用户带来更流畅的使用体验,并为项目未来的发展奠定更稳定的基础。

此外,Mint 还增强了对键盘布局和输入法的支持,统一处理传统布局和基于 IBus 的输入法。这使得将 XKB 布局与复杂的输入法(例如日语或中文)结合使用成为可能,这在多语言环境中至关重要。

所有这些工作都与 Mint 和 Cinnamon 的未来战略相符:确保完全兼容 Wayland。此前,Wayland 下的键盘支持相当有限,但在此版本中,标准布局和输入法均可正常工作,并且屏幕键盘已实现原生重写,消除了对外部的依赖。

尽管取得了这些进步,Cinnamon 默认仍然运行在 X11 上,但它提供了一个基于 Wayland 的实验性会话,目前尚不建议在生产环境中使用。不过,该会话可作为改进 Muffin 窗口管理器和其他关键组件的测试平台。

桌面环境也得到了进一步完善,文件管理器 Nemo 6.6 进行了改进,新增了更全面的模板管理器,支持暂停和恢复文件操作,提高了搜索精度,并优化了缩略图和分屏面板的处理。此外,它还引入了更清晰的待处理通知视觉指示器和更直观的工作区切换小程序。

此外,系统还进行了一些小的调整:夜间模式小程序提供了更多选项,分数缩放得到改进,Alt-Tab 选择器提供了更多配置选项,主题选择器按系列和变体重新组织,旨在简化外观的自定义。

随着 Mint 22.3 结束其生命周期,并为基于即将推出的 Ubuntu 26.04 LTS 的 Linux Mint 23 做好准备,与 systemd 259 的对比显而易见:系统框架以令人眼花缭乱的速度发展,而面向稳定的发行版则在每个时刻谨慎地选择要集成哪些技术飞跃。

凭借所有这些要素,systemd 259 成为初始化和服务管理器发展历程中的一个重要里程碑,它打破了对 glibc 的完全依赖,通过 TPM 2.0 增强了安全性,改进了 run0 和 systemd-oomd 等工具,并提高了适应现代 Linux 的要求。想要充分利用这些新特性的用户需要投资兼容的平台和硬件,而较为保守的发行版则将继续调整自身节奏,以平衡稳定性、长期支持和这些功能的逐步普及。

Linux系统管理
相关文章:
Linux 系统管理:系统管理员完整指南