36氪 AI 11月03日 20:02
Debian APT 将强制使用 Rust 工具链,部分架构面临挑战
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Debian 社区宣布,从 2026 年 5 月起,APT 软件包管理工具将强制使用 Rust 工具链。此举旨在利用 Rust 的内存安全特性和更完善的单元测试方法,以提升 APT 的安全性和可靠性。然而,这一决定引发了部分 Debian 用户和开发者的担忧,特别是那些维护着目前缺乏完善 Rust 支持的冷门端口的社区。这些端口需要在接下来的六个月内完成 Rust 工具链的配备,否则可能面临被淘汰的风险。强制使用 Rust 的主要原因是提升代码安全性,并依赖更现代的工具和技术。目前,m68k、HPPA、SuperH/SH4 和 Alpha 等架构由于 Rust 支持不足,面临着最大的挑战。

🔒 **安全性提升**: Debian 强制 APT 使用 Rust 工具链的主要目的是提高软件包管理器的安全性。Rust 语言以其内存安全特性而闻名,可以有效减少诸如缓冲区溢出等安全漏洞,从而提升系统的整体安全性。

🛠️ **现代化工具**: Debian 认为有必要向前发展并依赖更现代的工具和技术,而不是继续在旧的架构上维护过时的代码。引入 Rust 可以使 APT 能够利用更先进的编程范式和更好的开发生态。

⏳ **兼容性挑战**: 一些 Debian 的冷门端口,如 m68k、HPPA、SuperH/SH4 和 Alpha,目前缺乏完善的 Rust 支持,可能无法在截止日期前完成适配工作,面临被淘汰的风险。这些架构的开发者需要在短期内投入大量精力来解决兼容性问题。

🧑‍💻 **社区反应不一**: Debian 社区对这一决定持有不同看法。一些人支持使用 Rust 以提高安全性,而另一些人则担心对现有架构的兼容性以及开发周期是否过于仓促。有开发者认为六个月的时间不足以完成必要的移植和测试工作。

📉 **潜在影响**: 如果部分架构因无法支持 Rust 而被淘汰,那么在这些平台上运行 Debian 的用户将无法升级到未来的版本。同时,维护者也需要决定是否投入资源为这些小众平台开发和维护 Rust 支持。

出于「安全」考虑,越来越多的组织加入了 Rust 语言的阵营。

近日,Debian 社区开发者 Julian Andres Klode 发布了一则声明,宣布从 2026 年 5 月开始, Debian 的 APT 软件包管理工具将强制要求使用 Rust 工具链。

他强调,“如果你维护的端口没有可用的 Rust 工具链,请在接下来的 6 个月内确保配备,否则就淘汰该端口。”

这一消息让不少 Debian 用户和开发者感到担忧。因为这意味着 Debian 的所有架构都必须支持 Rust,而目前一些尚未具备 Rust 支持的端口,要么需要尽快开发支持,要么可能淘汰。

Debian 强制使用 Rust 的原因

Julian Andres Klode 在公告中写道:“在 APT 中引入 Rust 硬依赖和 Rust 代码。最初涉及 Rust 编译器和标准库,以及 Sequoia 生态系统。特别是我们解析 .deb、.ar、.tar 文件的代码,以及 HTTP 签名验证相关代码,将大大受益于内存安全语言和更完善的单元测试方法。”

他还表示:“对整个项目来说,能够向前发展并依赖现代工具和技术非常重要,而不是试图在老旧设备上勉强运行现代软件而被拖累。”

这会带来哪些影响?

目前一些 Debian 较冷门的端口,例如 m68k、Hewlett Packard Precision Architecture(HPPA)、SuperH/SH4 和 Alpha,因缺乏完善的 Rust 支持而面临挑战。

有用户分析称:“如果某个平台无法编译和运行 Rust 代码,就无法运行未来版本的 Debian。虽然目前已有不少 Rust 软件包,但它们并非基础安装必需部分,用户仍可选择不安装任何 Rust 软件包来使用 Debian。APT 当前是用 C++ 编译,但未来部分组件将用 Rust 重写,这意味着 APT 将同时包含 C++ 和 Rust 代码。如果某些小众 CPU 架构上没有可用的 Rust 编译器,这些架构将无法编译或运行 APT。”

他还列举了具体架构:“在当前维护的 Debian 端口中,完全没有 Rust 编译器的只有 DEC Alpha、HP PA-RISC 和 Hitachi SH-4(Dreamcast CPU)。Motorola 68000(Amiga 和早期 Macintosh)虽然有部分 Rust 支持,但功能不足以支持 Debian,因此也面临被淘汰的风险。”

社区反应

对于这一决定,Debian 社区内的反应不一。

网友 ben0x539 表示:“这则声明让人不太舒服了,因为声明中把那些不想支持 Rust 的端口称作在做‘复古计算’,听起来像是一种玩票性质的爱好,而不是严肃的工程工作。我完全理解大家因此感到被轻视的心情。”

另一位网友 Quackdoc 直言道:“真是让人尴尬,完全无法理解。我非常喜欢 Rust,但它远没有达到 APT 所需要的状态。这完全是疯狂操作。现在该考虑淘汰它,让 APT 回到它应有的位置——垃圾堆里。”

也有理性分析的声音。Developer12 评论道:“一方面,这件事也有一定好处。对工具链中列出的部分采用 Rust 的安全性理由确实很有道理,而且对于一些架构,比如 m68k,其他操作系统上已经有 Rust 端口,因此这些平台实现支持不应太难。从长远看,在更多平台上推动 Rust 使用,从某种意义上也是件好事。”

他同时指出实际问题:“不过,这个截止时间真的太短了。这类迁移通常需要提前一年甚至两年公告。即便某个架构/操作系统组合理论上已有 Rust 支持,要建立完整支持也可能需要远超 6 个月的时间。至少部分端口可能要在 Rust Nightly 中长期测试才能稳定。更关键的是,列表上有些架构根本没有 LLVM 支持,而短期内不可能出现其他后端。即使有人愿意移植编译器工作,也根本来不及完成。”

正如 ebee_matteo 所评论的:

对我来说,这很清楚:要么在六个月内有开发者站出来修复这些端口的 Rust 支持,要么这些端口将继续使用旧版本的 APT,并最终作为官方 Debian 端口被淘汰。

如果这些架构有足够大的社区,那么相应的开发者应该专注于扩展编译器支持,并修复尚未能编译的 crates。否则,这只是另一个信号——表明这些架构没有足够的开发者来支撑持续的跨平台兼容性工作。

维护者的时间有限,而确保他们的软件能在仅占 0.1% 的安装量上编译,依然是一项沉重的负担。这甚至都不是 Rust 与非 Rust 的争论,而是“这个端口本身是否有足够的开发者和用户”。

对此,你怎么看待这则公告?

参考:

https://lists.debian.org/debian-devel/2025/10/msg00285.html

https://www.phoronix.com/news/Debian-APT-Will-Require-Rust

本文来自微信公众号“CSDN”,整理:屠敏 ,36氪经授权发布。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Debian APT Rust 软件包管理 系统安全
相关文章