当前位置: 首页 > news >正文

Ubuntu也开始锈化了?Ubuntu 计划在 25.10 版本开始引入 Rust Coreutils

上个月,jnsgruk发表了《未来20年的Ubuntu工程》(Engineering Ubuntu For the Next 20 Years)一文,其中概述了打算在未来几年中如何发展Ubuntu的四个关键主题。在这篇文章中,重点讨论 了“现代化”。在很多方面对Ubuntu进行现代化改造,例如专注于图形化shell体验、虚拟化堆栈、核心系统实用程序、默认shell实用程序等。

多年来,像 GNU Coreutils 这样的项目对于 Ubuntu 和其他 Linux 发行版给数百万用户带来的类似 Unix 的体验起到了至关重要的作用。GNU Coreutils是 GNU 操作系统的基本文件、shell 和文本操作实用工具。这些是每个操作系统都应具备的核心实用程序。对许多人来说,这个软件包提供的实用程序已成为 Linux 的代名词,如 ls、cp 和 mv。近年来,人们一直在努力用 Rust 重新实现这套工具,目标是实现与现有工具的 100% 兼容。类似的项目,如 sudo-rs ,旨在用更现代、内存更安全的工具替代关键的安全实用程序。

从 Ubuntu 25.10 开始,我们的目标是将其中一些现代实现作为默认设置。近期目标是将 uutils 的 coreutils 实现作为 Ubuntu 25.10 的默认设置,如果条件允许,还将在下一个长期支持(LTS)版本 Ubuntu 26.04 LTS 中采用。

But… why?

Rust 语言、其类型系统和借用检查器(以及其社区!)通力合作,鼓励开发人员编写安全、可靠、有弹性的软件。随着安全性的提高,安全保证也会随之提高,而随着安全性的提高,系统的整体弹性也会随之提高–还有什么比从构建发行版的基础工具开始更合适的呢?

最近,一篇关于 2025 年使用 Rust 开发基础软件的文章 。除其他外,这篇文章还声称 “基础软件需要性能、可靠性和生产力”。如果基础软件失效,那么构建在其上的所有其他层也会失效。如果基础软件包存在性能瓶颈,那么它们就会成为上面各层所能达到的性能的底线。

Ubuntu 为全球数百万台设备提供支持,从数据中心的服务器到自主系统中的安全关键系统,因此我们有责任确保我们所提供的软件是最有弹性、最值得信赖的。

要做到这一点,方法有很多:我们可以为 Kubernetes 等项目提供长期支持 ,我们可以努力做到符合以安全为中心的标准 ,但另一种方法是以安全、稳健、正确和弹性为核心价值来发布软件。

当然,这并不是要对现有的实现方法指手画脚。这些工具中的许多已经稳定运行多年,默默地提高性能、修复漏洞。在较新实现上工作的一个可爱的副作用是,它有时也会促进原始上游项目的改进!

uutils 重写除了更宽松的许可证以外,还有如下几个优点:

提供对 Windows、macOS、BSD、甚至安卓(通过 busybox)的支持

提供单文件版本

提供一些改善生活质量的小功能

为什么要用 Rust 来重写这些工具?

Sylvestre 在接受采访的时候说,这些核心组件的代码有些可能已经有三十多年四十年,他们时至今日依然可以正常运作——但有些已经失去了维护。

为什么会选择 Rust,Sylvestre 提到了年轻人对 C 语言的兴致没有以前那么高了,他们更喜欢更“酷”的语言,让下一代人维护这些核心设施更加轻松是他的主要驱动力。我们没办法保证未来三十年,甚至是十年后还能有足量的、能力足够的 C 语言用户来维护这些古老的从上世纪传流下来的代码。

除此之外,使用 Rust 的主要理由并非是很多人津津乐道的安全性,而主要是因为这门语言结合了很多工程经验使其更加易用:比如 cargo,比如并发,比如些许函数式特性。

由于 Sylvestre 先前参与了 Clang 和 LLVM 的开发,而 Clang 有个很经典的观点:“如果我们没有实现一个 GCC 标志(功能?),那就是个 bug”,他带着这个信念参加了 uutils 的开发并且成为了现在 uutils 的主要维护者,我认为没有这个观点 uutils 的 coreutils 不会在今天能够成为 Ubuntu 25.10 的选择:带着这个观点,实现相同的数据处理模型,再加上吸收了更多工程经验的系统级语言作为工具,全新的代码基更能面对未来维护上的挑战。

在这里插入图片描述

从 Rust 使用者/爱好者的角度来说是个巨大的利好,因为 Ubuntu 下场有望促进 uutils 项目和相关依赖的迅速迭代。不过就目前 uutils 项目的完成度来看,25.10 是否能引入还是需要打一个大问号的。目前来看,虽然进展整体不错,但还是有不少测例是skip和fail状态的。

参考:
https://discourse.ubuntu.com/t/carefully-but-purposefully-oxidising-ubuntu/56995

相关文章:

  • 深度学习:智能车牌识别系统(python)
  • 力扣1812题解
  • 电商双十一美妆数据分析(代码)
  • 【笔记】当个自由的书籍收集者从canvas得到png转pdf
  • win11指定Microsoft Print To PDF的输出路径(电子书djvu转pdf输出路径)
  • java每日精进 5.07【框架之数据权限】
  • Zsh + iTerm2搭配使用教学,非常舒服,macOS
  • java CompletableFuture 异步编程工具用法2
  • SpringBoot学生宿舍管理系统开发实现
  • 中间件-RocketMQ
  • IPFS集群部署
  • 【JS逆向基础】并发爬虫
  • Linux复习笔记(一)基础命令和操作
  • 技术分享:Franka机器人新方案——双臂数据采集与适应性安装,带你探索具身智能的奥秘
  • C# NX二次开发:曲线和点位相关UFUN函数详解
  • 15_sysfsLinux内核模块
  • 在 R 中,清除包含 NA(缺失值)的数据
  • AOP封装进行批量的数据查询并填充
  • 探索智能体的记忆:类型、策略和应用
  • MySQL优化-MySQL常用查询命令
  • 深圳市政协原副主席王幼鹏被“双开”
  • 体坛联播|郑钦文收获红土赛季首胜,国际乒联公布财报
  • AI药企英矽智能第三次递表港交所:去年亏损超1700万美元,收入多数来自对外授权
  • 马上评丨规范隐藏式车门把手,重申安全高于酷炫
  • 中国词学研究会原会长、华东师大教授马兴荣逝世,享年101岁
  • 招行:拟出资150亿元全资发起设立金融资产投资公司