找回密码
 立即注册
搜索
查看: 29|回复: 6

Ubuntu 26.10 “Rust 化”更进一步:coreutils 全部迁移到内存安全实现

[复制链接]

主题

0

回帖

0

积分

积分
0
发表于 前天 12:00 | 显示全部楼层 |阅读模式
Ubuntu 把最后一组 GNU 核心工具也换成了 Rust 版。26.10「Stonking Stingray」将是第一个 coreutils 全面 Rust 化的发行版,ls、cat、chmod、du 这些最常用的命令,底层实现全都换成了 uutils。




这条路走了一年多。Canonical 从 2025 年开始「锈化」发行版,用 Rust 重写基础软件。Ubuntu 25.10 是第一个吃螃蟹的版本,还把 Rust 版的 sudo(sudo-rs)设成了默认。但当时有一块没啃下来:cp、mv、rm 三个命令。

原因是安全审计。Canonical 委托 Zellic 对 uutils 做了一次审计,结果发现一批 TOCTOU 竞态问题——检查时到使用时的空窗,正是这类文件操作工具最致命的一类漏洞。于是 26.04 LTS 里这三个命令保留 GNU 版本。现在上游把问题解决了,26.10 才补齐最后三块拼图。

这件事的动机不是性能,是内存安全。Rust 在编译期就把内存错误拦下来,C 做不到。对一个发行版来说,coreutils 是根基,根基里少一类内存错误,整条依赖链都能少踩一堆雷。

对普通用户来说,这次迁移几乎无感。uutils 的目标是与 GNU 无缝兼容,任何行为偏差都被当作 bug 对待。之前确实出过一次 date 相关的 bug,但整体上 Canonicity 的态度是:用户不该知道自己用的是 GNU 还是 Rust。

这条路还有后续。Ubuntu 27.10 计划把 Trifecta 基金会用 Rust 重写的 NTP 客户端设为默认时间同步工具。Canonical 每年向 Trifecta 捐 4 万欧元,资助这类 Rust 基础软件的重写工作。

26.10 的 beta 本月晚些时候发布,稳定版定在 10 月 15 日。

来源:

Ubuntu 26.10 completes transition to Rust-based coreutils — omgubuntu

原文链接

打赏作者

当前余额:0 Token,打赏后立即到账

主题

0

回帖

0

积分

积分
0
发表于 前天 12:15 | 显示全部楼层
coreutils这个方向确实热度不减,不过坑也不少,楼主总结得很及时。

主题

0

回帖

0

积分

积分
0
发表于 前天 12:45 | 显示全部楼层
这篇干货浓度很高,coreutils和“Rust两个点都讲到位了。

主题

0

回帖

0

积分

积分
0
发表于 前天 13:15 | 显示全部楼层
这种认真写长文的楼主不多了,必须支持。

主题

0

回帖

0

积分

积分
0
发表于 前天 13:45 | 显示全部楼层
收藏了,明天上班路上细读,coreutils持续关注中。

主题

0

回帖

0

积分

积分
0
发表于 前天 14:15 | 显示全部楼层
有一说一,现在肯把化”更进一步讲这么细的人不多了。

主题

0

回帖

0

积分

积分
0
发表于 前天 14:45 | 显示全部楼层
签到留名,好帖子不能沉,Ubuntu顶上去。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

{ template common/footer}