APP下载
报价宝  ›  科技  › 

systemd支持用Rust写系统程序

报价宝 来源:baojiabao.com 发布时间:2026-10-24 20:07:22 10月24日更新
报价宝综合消息systemd支持用Rust写系统程序

Linux上几乎一切服务的起点都是同一个进程。如今,这个一号进程的代码库第一次为「用什么语言写」松了口:systemd主线git已合并允许用Rust编写systemd程序的补丁,C不再是唯一选项。

systemd支持用Rust写系统程序

合并的是GitHub上的44324号拉取请求,提交者为Christian Brauner,10月24日进入主线,将随systemd 263版本发布。Phoronix率先报道了这项改动,并称其为该项目的语言分水岭。

支持的边界写得很清楚:像systemd库这样的核心代码仍不支持Rust,此次放开的只是各个systemd程序与叶子组件。要在核心代码里引入Rust,还有若干阻塞项需要先解决。

工程上的取舍同样明确:不用Cargo,所有Rust代码都由Meson构建;强制只允许C链接;开发者不打算把现有C代码移植成Rust,新语言只用于新写的组件。换句话说,这不是一次重写,而是给新程序开了一扇旁门。

第一个用Rust写的组件是systemd-keyring-setup,职责是在启动过程中为内核的dm-verity、fs-verity与BPF密钥环配置密钥、登记X.509证书,并在之后把这些密钥环交给后续流程。它的代码尚未合并,但基础设施已经落地,按计划很快会进来。

代价也有数:Rust编译出的程序体积略大,同一个测试程序Rust版32KB,C版20KB。Rust支持目前是可选特性,由Meson的rust选项控制,默认值为auto,构建环境里有Rust工具链就启用,没有就照旧只编C。对发行版维护者来说,这可能意味着构建依赖里多出一个工具链,但不会阻断现有流程。

对系统级软件来说,内存安全语言的吸引力在于把一整类越界访问与释放后使用问题挡在编译期。systemd这次迈的是一小步:不动旧代码、不引入包管理器、不改变构建方式,只让新组件多一个选择,也把「核心库什么时候跟上」这个问题留给了下一轮讨论。

编译自 Phoronix,原标题:"systemd Merges Support For Rust Programs"

文章标签: systemd Rust Linux 开源 Meson 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 手机价格 电视机价格 小米手机价格 红米手机价格 降噪耳机价格