Ubuntu 26.10 完成 Rust 核心工具迁移
Ubuntu 26.10 completes transition to Rust-based coreutils
Ubuntu 26.10 正式完成了向 Rust 编写核心工具的全面过渡,标志着其操作系统底层安全架构的重大升级。此前因 TOCTOU 安全问题被暂缓迁移的 cp、mv 和 rm 等关键命令,现已全部切换至内存安全的 uutils 版本。Canonical 自 2025 年起便着手“氧化”系统,通过用 Rust 替代 C 语言编写的传统工具,在编译阶段即可捕获内存错误。此次更新不仅带来了 ls、cat、chmod 等常用工具的 Rust 版本,还确保了与 GNU 版本的无缝兼容。尽管迁移过程偶有波折,但 Canonical 通过安全审计和持续投入,最终在“Stonking Stingray”版本中实现了这一目标,为系统安全筑起更坚固的防线。
Rust 能在编译时捕获内存错误,而 C 编译器却无法做到这一点。
HN 评论区
295- collinfunk
我真的不明白 Canonical 为什么要这么急着推进这件事。如果 'rm' 无法删除所有可能的目录项,那就是个大问题:
$ podman run --rm -it ubuntu:26.10
$ apt update -y; apt upgrade -y
$ rm --version
rm (uutils coreutils) 0.10.0
$ gnumkdir -p $(yes a/ | head -n $((32 * 1024)) | tr -d '\n')
$ rm -rf a
Segmentation fault (core dumped) rm -rf a
$ ls a
a
$ gnurm -rf a
$ ls a
ls: cannot access 'a': No such file or directory
- erminpour
不管你喜不喜欢 Rust,Canonical 如此大张旗鼓地推动这件事,而且做得如此草率,这一点确实值得怀疑。
这真的能让 coreutils 更安全吗?我对此表示怀疑,相反,可能会引发一波新的 Bug。
所以,再次强调,他们为什么这么拼命地推广 Rust?微软把 Rust 列为 'Tier-1' 语言,这也没什么好兆头。
- Malakun
你可以使用 coreutils-from-gnu 来替代 uutils。不过,由于 26.04 版本的 build-essential 依赖于 coreutils-from-uutils,因此在安装了 coreutils-from-gnu 的情况下无法进行升级。
https://bugs.launchpad.net/ubuntu/+source/build-essential/+b...
- Arcuru
那个仓库的代码质量现在达到不错的水平了吗?我关注得不多,但上次我查看时[1](那是几年前的事了),我仔细检查过的几乎所有工具都存在相当严重的性能或正确性问题。
- t0duf0du
当我看到这个时心情很糟糕:https://github.com/trifectatechfoundation/sudo-rs/issues/129...
- sehw
既然有 Debian 和 Mint 存在,人们还在用 Ubuntu?
- SubiculumCode
那么 Linux 未来的方向是什么,才能拥有像 Android 那样强大的沙箱机制?是把所有东西都做成 Appimage 吗?我知道现在通过折腾拼凑是可以实现的,但我是说默认支持且集成在系统里的那种。
- Surac
其他发行版是基于 Ubuntu 的。从现在开始,它们都会搭载这些功能残缺的 coreutils 吗?