宣布下一代Distrobox

Lobsters Hottest 工具

摘要

Distrobox v2 是用 Go 完全重写的,已发布为候选版本,性能和维护性得到提升,同时保持对大多数用例的向后兼容性。

<p><a href="https://lobste.rs/s/xb4qgt/announcing_next_generation_distrobox">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/06/20 16:16

# Distrobox 来源:https://distrobox.it/posts/announcing_distrobox_next/ - Distrobox (https://distrobox.it/)- 宣布下一代 Distrobox (https://distrobox.it/posts/announcing_distrobox_next/#announcing-the-next-generation-of-distrobox)- 立即尝试 (https://distrobox.it/posts/announcing_distrobox_next/#try-it-now) - 为何重写 Distrobox (https://distrobox.it/posts/announcing_distrobox_next/#why-we-rewrote-distrobox) - 兼容性 (https://distrobox.it/posts/announcing_distrobox_next/#compatibility) - 过渡期间 (https://distrobox.it/posts/announcing_distrobox_next/#during-the-transition) - 贡献 (https://distrobox.it/posts/announcing_distrobox_next/#contributing) - 感谢的话 (https://distrobox.it/posts/announcing_distrobox_next/#the-many-thanks-we-have-to-say) --- ## 宣布下一代 Distrobox 我们正以候选发布版的形式向公众发布 Distrobox v2。这是一次用 Go 语言完成的完全重写。Distrobox v1 仍为稳定版本,目前建议在生产环境中使用。 首要目标是让 v2 与 v1 达到功能对等,届时我们将宣布 v2 稳定。源代码现已可在 `next` 分支获取 (https://github.com/89luca89/distrobox/tree/next)。 ## 立即尝试 v2.0.0-rc 版本已在 GitHub 上发布 (https://github.com/89luca89/distrobox/releases/tag/2.0.0-rc.1)。 你也可以从 `next` 分支的源代码自行构建: `` git clone https://github.com/89luca89/distrobox.git cd distrobox git checkout next make build sudo make install `` 请使用你常用的工作流进行测试,并报告发现的任何问题。你的反馈对于快速达到稳定至关重要。 ## 为何重写 Distrobox Shell 的即时反馈循环对 Distrobox 的早期成功至关重要。但随着项目成熟,我们遇到了它的局限:缺乏合适的模块系统用于代码复用,没有便捷的测试引擎,以及难以维护的模式。我们还希望将 Distrobox 扩展到新的用例,这需要对现有代码库进行大规模重构。 我们选择 Go 是因为核心团队对其有信心。Go 很流行且学习曲线短,社区可以轻松参与贡献。它拥有扎实的工具链和标准库,使我们能将外部依赖降至最低。而且,为多种架构构建也十分直接——这对 Distrobox 多样化的用户群很重要。 我们并非为了提升性能而开始这项工作。但初步基准测试显示,在常见使用场景下性能有明显提升。更多数据将在后续公布。 ## 兼容性 v2 保持与 CLI 命令参数、清单文件和配置文件相同的接口。你的脚本和 `.distrobox` 文件夹将与 v2 兼容。 现有的 v1 容器可与 v2 配合使用,但导出的二进制文件和应用程序除外——这些容器必须重新创建。v2 以单个二进制文件形式交付,因此像 `distrobox-enter` 和 `distrobox-create` 这样的命令专用可执行文件不再存在。请改用 `distrobox enter`、`distrobox create` 等命令。 ## 过渡期间 在 v2 达到功能对等和稳定性的过程中,我们将做出有针对性的选择。 在 v2 达到与 v1 功能对等并宣布稳定之前,我们不会接受 v1 或 v2 的新功能。新功能会拖延这一里程碑的实现。错误修复必须提交到 `next` 分支。我们将按具体情况决定是否向后移植到 v1。 在报告错误之前,请先检查该问题是否已在 v2 中修复。对于已在 v1 上打开的 PR,我们将与作者逐一决定处理方式。对于 v1 上已打开的 issue,我们要求你先确认该问题是否也存在于 v2 中。我们将优先修复 v2 上的问题。如果问题导致 Distrobox v1 无法使用或不安全,我们会考虑将关键修复向后移植到 v1。 随着进展,我们会发布 v2.0.0-rc 版本。版本发布在 GitHub 上,并根据需要发布,没有固定频率。当我们可以断言 v2 涵盖了 v1 的所有用例且没有重大回归时,v2 将被宣布为稳定版本。 ## 贡献 所有贡献必须提交到 `next` 分支。在贡献之前,请先阅读架构文档 (https://distrobox.it/posts/distrobox_next_architecture/)。 构建和测试项目需要安装可用的 Go。请参考官方 Go 文档 (https://go.dev/doc/install) 来设置本地环境。 ## 感谢的话 像 Distrobox 这样的项目,如果没有社区的支持,将一事无成。多年来,我们收到了来自 200 多位开发者的贡献;这些人首先是热情的 Distrobox 用户,对此我们感激不尽。 其中一些人的代码现在正在消失,为重写让路。我们想强调,如果没有他们的贡献,重写本身是不可能实现的。请花点时间查阅 Distrobox 贡献者列表 (https://github.com/89luca89/distrobox/graphs/contributors)——向他们致以最诚挚的感谢。 我们很期待看到 v2 将把 Distrobox 带向何方,也希望你们同样期待。试一试,报告 bug,并加入 Matrix (https://matrix.to/#/%23distrobox:matrix.org) 和 Telegram (https://t.me/distrobox_chat_new) 的讨论。

相似文章

DuckDB v2.0 预览

Lobsters Hottest

本文预览了即将发布的 DuckDB v2.0 功能,包括服务器模式、新的 SQL 解析器和存储格式,标志着数据库系统的重要更新。

GNOME Boxes 的未来

Lobsters Hottest

GNOME Boxes 已经从头重建,作为一款仅限 Flatpak 的 GTK4/Libadwaita 应用,自带虚拟化栈,现在开箱即支持安装 Windows 11(安全启动 + 虚拟 TPM),并提供了测试版供试用。

BoxBox

Product Hunt

BoxBox 是一款专为 Linux 家庭实验室和 NAS 式服务器设计的文件管理器,提供基于 Web 的界面以简化文件管理。

介绍 ReactOS 0.4.16

Lobsters Hottest

ReactOS 0.4.16 已发布,带来了新的图形安装程序、统一的启动CD和Live CD,并在视频、音频、网络和存储堆栈方面进行了改进。

DuckDB v2.0 预览

Hacker News Top

DuckDB v2.0,代号 Cyanoptera,预览了新功能,包括服务器模式、触发器、VARIANT 类型、异步 I/O 和新的 SQL 解析器,将于今年秋季发布。