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 编译器却无法做到这一点。
  1. 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

  2. erminpour

    不管你喜不喜欢 Rust,Canonical 如此大张旗鼓地推动这件事,而且做得如此草率,这一点确实值得怀疑。

    这真的能让 coreutils 更安全吗?我对此表示怀疑,相反,可能会引发一波新的 Bug。

    所以,再次强调,他们为什么这么拼命地推广 Rust?微软把 Rust 列为 'Tier-1' 语言,这也没什么好兆头。

  3. Malakun

    你可以使用 coreutils-from-gnu 来替代 uutils。不过,由于 26.04 版本的 build-essential 依赖于 coreutils-from-uutils,因此在安装了 coreutils-from-gnu 的情况下无法进行升级。

    https://bugs.launchpad.net/ubuntu/+source/build-essential/+b...

  4. Arcuru

    那个仓库的代码质量现在达到不错的水平了吗?我关注得不多,但上次我查看时[1](那是几年前的事了),我仔细检查过的几乎所有工具都存在相当严重的性能或正确性问题。

    [1] https://jackson.dev/post/rust-coreutils-dd/

  5. t0duf0du

    当我看到这个时心情很糟糕:https://github.com/trifectatechfoundation/sudo-rs/issues/129...

  6. sehw

    既然有 Debian 和 Mint 存在,人们还在用 Ubuntu?

  7. SubiculumCode

    那么 Linux 未来的方向是什么,才能拥有像 Android 那样强大的沙箱机制?是把所有东西都做成 Appimage 吗?我知道现在通过折腾拼凑是可以实现的,但我是说默认支持且集成在系统里的那种。

  8. Surac

    其他发行版是基于 Ubuntu 的。从现在开始,它们都会搭载这些功能残缺的 coreutils 吗?

同日更多故事

2026-09-14