Arch Linux 软件包系统
Arch Linux 是一个精简且高度可定制的 Linux 操作系统发行版,其最大的优势之一是其软件包系统。尽管 Arch Linux 中的包管理可能看起来很复杂,尤其是对于那些以前从未使用过 Linux 的人来说,但它实际上与操作系统的其他部分一样简单且高效。
Arch 构建系统 (ABS)
Arch Linux 中包管理的核心是 Arch Build System (ABS),一个从源代码构建软件的系统。 ABS 具有三个主要成分:
SVN树:包含构建所有官方包所需文件的目录结构。
PKGBUILD:包含构建 Arch Linux 软件包所需信息的脚本。
makepkg:使用 PKGBUILD 自动构建包的脚本。
然而,Arch Linux 并不要求用户像其他一些 Linux 发行版那样从源代码构建软件包。相反,由 Arch Linux 开发人员和可信用户创建和维护的软件包可以轻松地从多个官方存储库下载并安装。
官方存储库
最重要的官方存储库称为 core,它包含用于启动 Arch Linux、连接到互联网、构建包、管理和修复文件系统以及与系统设置过程相关的包。由于所有 Arch Linux 用户都依赖于核心存储库,因此核心包必须通过严格的签核流程才能被接受并包含在存储库中。
过去,核心存储库包含 Arch Linux 的创建者 Judd Vinet 的、首选应用程序以及其他所有内容,这些内容都进入称为非官方的存储库。这些附加软件包中的大部分现在驻留在名为 extra、Xorg、窗口管理器、Web 浏览器、媒体播放器以及其他应用程序和工具的存储库中。
在软件包升级为核心或额外之前,它们会在测试存储库中花费一些时间。不建议普通用户启用测试存储库,因为这可能会导致系统损坏。
Arch Linux 开发人员都是忙碌的人,他们无法维护 Arch Linux 用户想要使用的每一个软件,这是可以理解的。因此,创建了社区存储库,由受信任的用户进行维护。您可以在此处查看当前的受信任用户列表。如果社区包变得足够流行,那么它们最终有可能升级为核心或额外。
Arch Linux 官方存储库中包含的所有软件包都可以使用这个方便的基于 Web 的前端浏览和下载。每个包都包含有关其架构、存储库、上游 URL、许可证、维护者、大小和日期的信息,以及总结包功能的简短描述。
非官方存储库
除了官方存储库之外,Arch Linux 用户还可以从许多非官方存储库下载软件。例如,有一个包含 ATI Catalyst 专有驱动程序或 Android 开发工具的非官方存储库。
吃豆人
从官方和非官方存储库下载和安装软件包通常是使用 pacman 完成的,这是一个功能强大的包管理器,可以使用简单的命令来管理包。
要使用 pacman 安装软件包,只需发出以下命令:
要搜索包:
要删除包:
要更新系统上的所有软件包:
pacman 是 Arch Linux 最显着的功能之一,掌握它对于充分利用该发行版至关重要。
对于所有对命令行感到害怕的新手来说,好消息是有许多 pacman 包装器,其目的是使使用 pacman 处理包变得更加容易。其中包括 pacli(一个用于 pacman 的简单且交互式的 Bash 前端)和 PacUI(它在方便且易于使用的文本界面中提供有用且高级的 pacman 命令)。
尿素尿率
Arch Linux 的一项功能使其在 Linux 爱好者和修补者中特别受欢迎,它是 Arch 用户存储库 (AUR),这是一个由 Arch Linux 用户创建和管理的社区驱动的存储库。
它的创建是为了加快将软件包纳入社区存储库的速度,并且它已经发展成为 PKGBUILD 形式的大量软件集合,这使得可以使用 makepkg 从源代码编译软件包,然后使用 pacman 安装它们。
要从 AUR 下载并安装软件,必须完成以下步骤:
从 AUR 下载 PKGBUILD。建议手动验证 PKGBUILD 以确保它不包含任何恶意内容。
在带有 PKGBUILD 的目录中运行“makepkg”命令来构建包。将创建一个扩展名为“.pkg.tar.xz”的包文件。
如果缺少所需的依赖项,请发出“makepkg -s”命令来安装所需的依赖项。
在工作目录中运行“makepkg -i”命令来安装软件包。
或者,只需使用“makepkg -si”命令即可同时完成第二步和第三步。
注意:要从 AUR 构建包,需要从核心存储库安装基础开发组。
AUR 助手
就像有一些工具可以让 pacman 的使用变得更容易一样,也有一些工具,称为 AUR 助手,可以自动执行 Arch 用户存储库的某些任务。其中包括 aurman,一个与 pacman 语法类似的 AUR 帮助器,pakku,一个支持 AUR 的 pacman 包装器,以及 trizen,一个用 Perl 编写的 AUR 轻量级包装器,仅举几例。
结论
Arch Linux 包管理并不像那些没有花时间学习它是如何工作的人最初看起来那么复杂。其优雅的简洁性与卓越的多功能性相结合,使其功能强大且易于掌握。
虽然只需要少量命令即可完成从软件包安装到软件包删除再到系统更新的所有操作,但更高级的任务自然需要更高级的命令及其链。如有疑问,我们强烈建议您查阅 Arch Linux wiki 以避免破坏您的系统。