【Rust日报】2025-11-28 Ubuntu 迁移到 Rust:默认提供 uutils 和 sudo-rs 的经验教训

【Rust日报】2025-11-28 Ubuntu 迁移到 Rust:默认提供 uutils 和 sudo-rs 的经验教训

💡 原文中文,约3000字,阅读约需7分钟。
📝

内容提要

Ubuntu 正在用 Rust 重写关键基础设施,以替代不稳定的 C 语言代码,从而提升安全性和可靠性。通过逐步替换,确保与现有系统兼容,推动开源生态的安全发展。

🎯

关键要点

  • Ubuntu 正在用 Rust 重写关键基础设施,以替代不稳定的 C 语言代码。

  • 核心项目包括 sudo-rs 和 uutils,旨在为 Ubuntu 的未来奠定坚实基础。

  • 引入 Rust 语言以消除内存安全隐患,提升系统的整体健壮性。

  • 团队采取谨慎策略,确保在替换底层架构时保持向后兼容。

  • 逐步引入新技术,确保用户体验不受影响。

  • Canonical 积极与 Rust 社区合作,推动开源生态的安全进化。

  • 讨论引入非中毒锁的提案,旨在提升易用性和性能。

  • 反对意见认为移除中毒机制可能导致安全隐患。

  • 部分开发者建议优化现有 API,以改善开发体验。

  • 介绍了预算追踪器和快速低内存占用的 trie 树实现等项目。

  • Rust 形式化方法会议提出新型模型,旨在精确捕捉类型检查中的借用与可变性保证。

延伸问答

Ubuntu 为什么选择用 Rust 替代 C 语言?

Ubuntu 选择用 Rust 替代 C 语言是为了提升安全性和可靠性,消除内存安全隐患。

sudo-rs 和 uutils 在 Ubuntu 中的作用是什么?

sudo-rs 是 sudo 的 Rust 实现,uutils 是 GNU coreutils 的 Rust 实现,二者是重写关键基础设施的核心项目。

Ubuntu 在迁移过程中如何确保向后兼容?

Ubuntu 团队采取谨慎策略,确保在替换底层架构时保持向后兼容,避免影响现有用户体验。

引入非中毒锁的提案有什么优缺点?

优点包括易用性提升和性能优化,缺点是可能导致安全隐患,程序在数据损坏状态下继续运行。

Canonical 如何与 Rust 社区合作?

Canonical 积极与 Rust 社区及相关基金会合作,共同推动开源生态的安全进化。

Rust 形式化方法会议提出了什么新型模型?

会议提出了位置能力图(Place Capability Graphs),旨在精确捕捉类型检查中的借用与可变性保证。

➡️

继续阅读