官方仓库

来自 ArchWiki
(重定向自 Gnome-unstable

一个 软件仓库 是软件包检索和安装的存储位置。

Arch Linux 官方仓库 包含必要的和流行的软件,可以通过 pacman 轻松访问。它们由 软件包维护者 维护。

官方仓库中的软件包会不断升级:当软件包升级时,其旧版本将从仓库中删除。没有主要的 Arch 版本发布:每个软件包都会在上游来源提供新版本时进行升级。每个仓库始终是一致的,即它托管的软件包始终具有相互兼容的版本。

稳定仓库

core

此仓库可以在您喜欢的 镜像 上的 .../core/os/ 中找到。

core 包含以下软件包

以及上述软件包的依赖项(不一定是 makedepends)和 base 元软件包

core 具有相当严格的质量要求。开发人员/用户需要在软件包更新被接受之前对其进行签名确认。对于使用率较低的软件包,合理的曝光就足够了:通知人们有关更新,请求签名确认,在 core-testing 中保留最多一周,具体取决于更改的严重程度、未解决的错误报告以及软件包维护者的隐式签名确认。

提示: 要创建包含来自 core(或其他仓库)软件包的本地仓库,而无需互联网连接,请参阅 Pacman tips#从 CD/DVD 或 USB 存储棒安装软件包

extra

此仓库可以在您喜欢的镜像上的 .../extra/os/ 中找到。

extra 包含不适合放入 core 的所有软件包。此仓库由 软件包维护者 和 Arch 开发人员共同维护。示例:Xorg、窗口管理器、Web 浏览器、媒体播放器、用于使用 Python 和 Ruby 等语言的工具以及更多。

multilib

此仓库可以在您喜欢的镜像上的 .../multilib/os/ 中找到。

multilib 包含 32 位软件和库,可用于在 64 位安装上运行和构建 32 位应用程序(例如 winesteam 等)。

启用 multilib 仓库后,32 位兼容库位于 /usr/lib32/ 下。

启用 multilib

要启用 multilib 仓库,请取消注释 /etc/pacman.conf 中的 [multilib] 部分

/etc/pacman.conf
[multilib]
Include = /etc/pacman.d/mirrorlist

然后 升级 系统并安装所需的 multilib 软件包。

提示: 运行 pacman -Sl multilib 以列出 multilib 仓库中的所有软件包。32 位库软件包名称以 lib32- 开头。

禁用 multilib

执行以下命令以删除从 multilib 安装的所有软件包

# pacman -R $(comm -12 <(pacman -Qq | sort) <(pacman -Slq multilib | sort))

如果您与 gcc-libs 发生冲突,请重新安装 gcc-libs 软件包和 base-devel 软件包的依赖项(请参阅 Pacman/技巧和窍门#软件包的依赖项)。

注意: 如果命令返回 error: no targets specified (use -h for help),则表示您的系统上未安装来自 multilib 仓库的软件包。

注释掉 /etc/pacman.conf 中的 [multilib] 部分

/etc/pacman.conf
#[multilib]
#Include = /etc/pacman.d/mirrorlist

然后 升级 系统。

测试仓库

测试仓库的预期目的是为软件包提供一个暂存区,以便在被接受到主仓库之前放置。软件包维护者(和普通用户)可以访问这些测试软件包,以确保在集成新软件包时没有问题。一旦软件包经过测试且未发现错误,则可以将该软件包移动到主仓库。

并非所有软件包都需要经过此测试过程。新软件包在以下情况下会进入测试仓库

  • 它们注定要进入 core 仓库。core 中的所有内容都必须经过 core-testing
  • 预计它们会在更新时破坏某些东西,因此需要先进行测试。
  • 它们会影响许多软件包(例如 perlpython)。

测试仓库通常也用于大型软件包集合的新版本,例如 GNOMEKDE

注意: 测试仓库不是为了“最新的新”软件包版本。它们的部分目的是保存可能破坏系统的软件包更新,无论是作为 core 软件包集的一部分,还是以其他方式至关重要。因此,强烈建议测试仓库的用户订阅 arch-dev-public 邮件列表,关注 测试仓库论坛,并 报告所有错误。您还应考虑加入 Arch 测试团队
警告
  • 测试仓库可能包含预发布软件版本。
  • 启用测试仓库时请小心。执行更新后,您的系统可能会崩溃。只有知道如何处理潜在系统崩溃的经验丰富的用户才应使用它。
  • 如果您启用 core-testing,则必须同时启用 extra-testing,反之亦然。如果您启用以下子章节中列出的任何其他测试仓库,则必须同时启用 core-testingextra-testing
  • 由于并非主仓库中的所有软件包都在测试仓库中具有版本,因此应保留 coreextra 主仓库,并且相应的测试仓库应位于主仓库之前。

core-testing

此仓库可以在您喜欢的镜像上的 .../core-testing/os/ 中找到。

core-testing 包含 core 仓库的候选软件包。

core-testing 是唯一可能与任何其他官方仓库发生名称冲突的仓库。如果启用,它必须是 /etc/pacman.conf 文件中列出的第一个仓库。

extra-testing

此仓库类似于 core-testing 仓库,但适用于 extra 仓库的候选软件包。

multilib-testing

此仓库类似于 core-testing 仓库,但适用于 multilib 仓库的候选软件包。

gnome-unstable

此仓库包含 GNOME 桌面环境的预发布版本(AlphaBetaRC)以及稳定版本的测试软件包,在它们过渡到主 extra-testing 仓库之前。

要启用它,请将以下行添加到 /etc/pacman.conf

/etc/pacman.conf
[gnome-unstable]
Include = /etc/pacman.d/mirrorlist

gnome-unstable 条目应位于仓库列表的顶部(即,在已启用的 core-testing 条目之上;请参阅上面的警告)。

请在 Arch 的 GitLab 中报告与软件包相关的问题,而其他任何问题都应向上游 GNOME Gitlab 报告。

有关此仓库的更多帮助和信息,请加入 Matrix 群组

kde-unstable

此仓库包含 KDE Plasma 和 Applications 的最新 betaRelease Candidate 版本。

要启用它,请将以下行添加到 /etc/pacman.conf

/etc/pacman.conf
[kde-unstable]
Include = /etc/pacman.d/mirrorlist

kde-unstable 条目应位于仓库列表的顶部(即,在已启用的 core-testing 条目之上;请参阅上面的警告)。

如果您发现任何问题,请务必 提交错误报告

禁用测试仓库

如果您启用了测试仓库,但后来决定禁用它们,则应

  1. /etc/pacman.conf 中删除(注释掉)它们
  2. 执行 pacman -Syuu 以“回滚”来自这些仓库的更新。

第二个项目是可选的,但如果您注意到任何问题,请记住它。

过渡仓库

警告: 任何情况下都不要启用 staging 仓库。执行更新后,您的系统肯定会崩溃。此仓库仅供后端开发人员使用。

此仓库包含损坏的软件包,仅供开发人员在一次重建许多软件包时使用。为了重建依赖于例如新共享库的软件包,必须首先构建共享库本身并将其上传到过渡仓库,以便其他开发人员可以使用。一旦所有依赖软件包都重建完成,该软件包组将被移动到测试仓库或主仓库,以更合适的仓库为准。

有关更多历史详细信息,请参阅 关于引入过渡仓库的公告

历史背景

大多数仓库拆分都是出于历史原因。最初,当 Arch Linux 的用户很少时,只有一个仓库被称为 官方 仓库(现在是 core 仓库)。当时,官方 基本上包含了 Judd Vinet 喜欢的应用程序。它旨在包含每种“类型”的程序之一——一个 DE,一个主要的浏览器等。

当时有些用户不喜欢 Judd 的选择,因此由于 Arch 构建系统 非常易于使用,他们创建了自己的软件包。这些软件包进入了一个名为 非官方 的仓库,并由 Judd 以外的开发人员维护。最终,这两个仓库都被开发人员认为具有同等程度的支持,因此 官方非官方 的名称不再反映其真实目的。在 0.5 版本发布前后,它们随后被重命名为 currentextra

在 2007.8.1 版本发布后不久,current 被重命名为 core,以防止对其包含的内容产生混淆。现在,在开发人员和社区眼中,这些仓库或多或少是平等的,但 core 确实存在一些差异。主要区别在于,用于安装 CD 和版本快照的软件包仅从 core 中获取。此仓库仍然提供完整的 Linux 系统,尽管它可能不是您想要的 Linux 系统。

在 0.5/0.6 版本左右的某个时候,开发人员不想维护很多软件包。Jason Chu 设置了“受信任用户仓库”,这些仓库是非官方仓库,受信任用户可以在其中放置他们创建的软件包。有一个 staging 仓库,Arch Linux 开发人员之一可以将软件包提升到官方仓库,但除此之外,开发人员和受信任用户或多或少是不同的。

这在一段时间内有效,但当受信任用户对他们的仓库感到厌烦时,以及当其他用户想要共享自己的软件包时,就不再有效了。这导致了 AUR 的开发。受信任用户被合并成一个更紧密的群体,他们现在共同维护 community 仓库。TU 仍然是与 Arch Linux 开发人员分开的群体,他们之间没有太多沟通。但是,流行的软件包仍然偶尔从 community 提升到 extraAUR 还允许所有用户提交 PKGBUILD。

core 中的内核 破坏了许多用户系统 之后,引入了“核心签名确认策略”。从那时起,core 的所有软件包更新都需要首先经过 core-testing 仓库,只有在其他开发人员或 Arch 测试团队 的人员多次签名确认后,才允许移动。随着时间的推移,人们注意到各种 core 软件包的使用率很低,用户签名确认甚至缺少错误报告也被非正式地接受为接受此类软件包的标准。

在 2009 年末/2010 年初,随着一些新文件系统的出现以及在安装过程中支持它们的愿望,以及认识到 core 从未明确定义(只是“重要的软件包,由开发人员精心挑选”),该仓库收到了更准确的描述。

本文或章节需要扩充。

原因: 2010 年至 2023 年的历史缺失:应该记录我们如何从“受信任用户仍然是与 Arch Linux 开发人员分开的群体,他们之间没有太多沟通”到将他们视为发行版的完全组成部分。(在 Talk:官方仓库 中讨论)

从 2021 年开始,并在 2023 年末完成,“受信任用户”更名为“软件包维护者”。

在 2023 年,经过多年的前期工作,该发行版 将其后端服务迁移到 git,并在同一次运行中也切换到新的仓库布局。在新布局中,extra 将包含以前在 community 中的所有软件包,并且测试仓库从 testing 分裂为 core-testingextra-testingcommunity-testing 被完全删除。从那时起,软件包维护者 也能够将新软件包推送到 extra