systemd 项目现已在 Git 仓库中正式合并对 Rust 编程语言的支持,允许开发者使用 Rust 作为 C 语言的替代方案来编写 systemd 程序。

据 Phoronix 报道,目前核心 systemd 代码(如 systemd 库)尚不支持 Rust,但针对各类 systemd 程序及叶子组件的 Rust 支持已经就绪。新推出的 systemd-keyring-setup 工具即采用 Rust 编写,主要用于在启动过程中配置密钥环,并将 X.509 证书注册到内核的 dm-verity、fs-verity 和 BPF 密钥环中,随后进行相关处理。尽管该工具的代码尚未完全合并,但随着 Rust 基础设施的落地,预计不久后将正式发布。systemd-keyring-setup 最初曾包含在一个大型提交中,后为启用 Rust 支持及其他准备工作而被拆分。
systemd 开发团队表示,暂无计划将现有的 C 语言代码移植至 Rust。所有 Rust 代码均通过 Meson 构建系统编译,而非使用 Cargo,且强制要求仅支持 C 链接。测试数据显示,systemd 中的 Rust 组件体积略大于对应的 C 版本:一个测试程序的 Rust 版本大小为 32KB,而其 C 语言孪生版本仅为 20KB。目前,systemd 对 Rust 的支持仍是可选功能,通过 Meson 选项 -Drust= 控制,默认设置为自动检测。





