为什么 Canonical 将 Launchpad 组织为每位作者单独的 PPA,而不是单个存储库?

为什么 Canonical 将 Launchpad 组织为每位作者单独的 PPA,而不是单个存储库?

Ubuntu 的流行促使许多作者确保他们的应用程序以可在 Ubuntu 版本下运行的 APT 包形式分发。然而,Canonical 提供的基础设施和工具基于 PPA,即每个发布者都有单独的 Debian 存储库。

该系统要求管理员为每个单独的发布者在本地配置中添加单独的存储库,并要求发布者维护单独的 PPA,并使用单独颁发的密钥进行签名。这些操作带来的不便性引起了一些批评。

另一种系统可能是将所有发布者的贡献聚合到一个存储库中,并由调解人解决有关名称冲突或软件质量问题的任何争议,同时仍然让发布者直接控制更新软件包。

通过类似方式运作的存储库(通常称为社区存储库)在许多基于 Linux 的操作系统中很常见,通常作为寻求发行版维护者采用到官方存储库之一的软件包的试验场。

Canonical 选择并维护 PPA 的原因是什么?该系统是否具有比某些替代方案更具吸引力的优势?

答案1

Canonical 选择并维护 PPA 的原因是什么?

PPA 最初是在 2006 年左右推出的,目的是用于测试目的。

很快,许多人意识到他们可以使用 PPA 作为独立配电的方法反而向 Debian 或 Ubuntu 贡献代码,从那时起,有些人就一直使用这种方法。但这是意料之外的。一些开发人员希望将发行版从流程中剔除,这也是十年后 Snap 软件包开发的标准之一。

该系统是否具有比某些替代方案更引人注目的优势?

是的,对于测试的最初目的而言:它仍然是逐步测试修复和新功能的好方法,目的是将这些改进推向 Debian 或 Ubuntu。

不,作为一种广泛分发软件的方法。这比满足 Debian 标准更容易,但这些标准的存在是出于与质量相关的考虑

另一种系统可能是将所有发布者的贡献汇总到一个存储库中

它存在。它是 Debian 不稳定版本。任何符合 Debian 信任标准的人都可以将他们的软件上传到 Debian。当进入 Debian 测试版时,生成的软件包将自动合并到 Ubuntu。

Debian 方法和标准提供了两大好处:

  • 质量:在其他平台上,软件大多独立于操作系统。但在基于 Debian 的系统中并非如此。操作系统和应用程序紧密集成,并且有大量志愿者测试和修补,以确保应用程序在所需环境中按预期运行。

  • 信任:上传者拥有值得信赖和能力的声誉。用户更有可能获得安全可靠的软件。

质量和信任不能被假定或忽视。它们是任何类型的存储库系统的关键组成部分。任何严肃的提案都必须切实解决这些问题。

Ubuntu 从一开始就被设计为补充到 Debian。我们从 Debian 中提取软件包,并反馈志愿者和开发人员以及代码。我们互相帮助和支持。显示 Ubuntu 开发人员和 Debian 开发人员的维恩图有很大的重叠。

社区 Ubuntu 存储库将重复 Debian 已在质量和信任方面所做的努力……但不会获得任何重大好处。在 AskUbuntu,当开发人员询问如何将他们的软件上传到 Ubuntu 时,我们通常会让他们以 Debian 作为起点。

答案2

缺少技术要点

  • PPA 允许覆盖来自其他存储库的任何包。

    此功能在组合存储库中会变得复杂,并且会出现来自不同用户的相同包的版本竞争。

    因此,此设置非常适合使用相同工具(deb/dpkg/apt)分发修改后的软件包。

  • 独立应用程序/工具有替代方案。Snap 和 AppImage 各自都有集中存储库。出于避免包名称冲突的相同原因,它们对唯一名称/ID 的要求非常严格。

相关内容