Arch Linux 上的 Pacman 命令终极指南

包管理器是 Linux 系统的支柱。 正是因为有了它们,您才能在桌面上安装和享受最新的软件。 Pacman 是“package”和“manager”这两个词的组合,是基于 Arch 系统的默认包管理器。

尽管与同类产品相比,Pacman 相当容易学习,但来自其他发行版系列的用户发现适应 Pacman 简短的单字符参数令人沮丧。 因此,让我们看一下 Pacman,它的各种选项,以及如何像专业人士一样使用它来管理 Arch Linux 上的软件包。

Pacman 命令指南

与其他 Linux 命令一样,Pacman 遵循带有一些预定义标志和参数的基本命令语法:

sudo pacman -options pkgname

…在哪里 -选项 是您用来调用不同功能的标志和 包名 是您要操作的包的名称。

使用 Pacman 升级软件包

安装 Linux 时,您应该做的第一件事是更新已安装的软件包。 以下 Pacman 命令会将已安装的软件包与存储库同步,并在有可用更新时升级它们:

sudo pacman -Syu

要仅升级特定软件包,请将软件包名称指定为参数 -S 旗帜:

sudo pacman -S pkgname

相反,您也可以阻止 Arch Linux 中的软件包升级。 这将要求您编辑 pacman.conf 文件位于 /ETC 目录,虽然。

安装新包

要将新程序添加到您的系统,您需要从 Arch 官方存储库安装软件包。 这 -S flag 通过提供一种简单的方法来下载和安装软件包来帮助您。 该命令的基本语法是:

sudo pacman -S pkgname

例如,要安装根包:

sudo pacman -S root

输出:

指定以空格分隔的软件包列表,以使用单个命令安装多个软件包:

sudo pacman -S pkgname1 pkgname2 pkgname3

与 Ubuntu 一样,Arch Linux 也有几个存储库,您可以从中获取软件包。 如果同名的包在多个存储库中可用,请通过指定存储库的名称来选择您想要的包。

sudo pacman -S repo/pkgname

要从“社区”存储库安装软件包:

sudo pacman -S community/pkgname

对于那些想要保留某些软件包的备份以供以后使用的人,您可以使用以下方式下载软件包而无需安装它 -SW 旗帜:

sudo pacman -Sw pkgname

您还可以使用包源 URL 直接下载和安装包。 为此,请使用 -U 标记并指定存档的链接:

sudo pacman -U https://example.com/pkgname.pkg.tar.zst

使用存档安装本地包

有时,当您在 Arch 存储库中找不到软件包时,您可以从 Internet 下载其 tarball/archive 并使用 Pacman 手动安装。 这 -U 标志允许您使用下载的存档在本地安装包:

sudo pacman -U /path/to/archive/pkgname.pkg.tar.zst

通常,Pacman 会跟踪使用 pacman -S pkgname 命令并定期检查是否有可用的更新。 但是,如果您使用下载的 tarball 安装包,则必须手动检查包的更新。

因此,建议您从官方存储库下载软件包。 只有当软件包在官方存储库中不可用时,您才应该使用其存档在本地下载和安装软件包。

如果要通过从包缓存中安装包来降级包,请使用以下命令格式:

sudo pacman -U file://path/to/archive/pkgname.pkg.tar.zst

搜索要安装的包

Pacman 允许您在本地数据库、同步数据库和文件数据库中使用 -Q, -S, 和 -F 标志,分别。

当您不知道包的确切名称时,可以使用 -SS 旗帜。

sudo pacman -Ss query

例如:

要搜索系统上已安装的软件包,请使用 -Qs 旗帜:

sudo pacman -Qs query

如果您想在实际安装之前了解有关软件包的更多信息,请使用 -和 使用以下命令标记:

sudo pacman -Si pkgname

列出孤立的包,即系统上任何包都不需要的已安装依赖项:

sudo pacman -Qdt

您可以将上述命令与 pacman -Rns 命令以释放系统上的一些空间,如下所示:

sudo pacman -Rns $(pacman -Qdt)

卸载软件包

当你想删除使用 Pacman 安装的包时,使用 -R 选项。

sudo pacman -R pkgname

输出:

上面的命令只会删除指定的包,并保持其依赖关系不变。 要与包一起删除依赖项,请附加 -s 标记到命令:

sudo pacman -Rs pkgname

如果您要删除的包作为另一个包的依赖项,您可以使用附加的 -C 旗帜:

sudo pacman -Rsc pkgname

通常,Pacman 会保留与软件包关联的配置文件,并在您删除软件包时创建这些文件的备份。 要覆盖此默认行为并删除包而不备份配置文件,请使用 -n 使用 remove 命令标记:

sudo pacman -Rns pkgname

通过清理包缓存释放一些空间

当您使用 Pacman 安装软件包时,它不会删除下载的文件。 相反,它将它们存储在包缓存中,直到它们被用户删除。 这可能会导致存储空间不足的问题,因为这些缓存文件会累积并占用您系统存储的很大一部分。

要解决这个问题,定期清理包缓存很重要。

paccache -r

您可以选择仅保留当前安装的软件包的缓存文件,并使用以下命令删除其余文件:

pacman -Sc

Pacman vs. APT vs. DNF:比较

与 APT 或 DNF 等其他包管理器相比,由于命令中使用的复杂、不直观的标志,Pacman 对于新用户来说可能会很复杂。 但这也是吃豆人的美妙之处; 您无需在终端中输入多行命令即可快速完成工作。

让我们比较一下使用 APT 和 Pacman 更新和升级软件包的命令。 如果您正在运行基于 Debian 的发行版,则必须执行两个命令才能实现此目标:

sudo apt update
sudo apt upgrade

您还可以使用以下命令连接上述两个命令 && 运算符,但与 Pacman 对应的运算符相比,它仍然不足:

sudo pacman -Syu

总体而言,APT 和 DNF 命令是不言自明的,并且对于 Linux 新手来说很容易理解,而 Pacman 命令简洁,只需几次击键即可完成更多操作。

加紧! 探索 Arch 用户存储库

你可能知道,Pacman 只能从 Arch 官方仓库获取软件包。 但是很大一部分软件包驻留在社区维护的 Arch 用户存储库 (AUR) 中。 要从 AUR 安装软件包,您需要像 yay 这样的 AUR 助手。

AUR 是用户为用户创建和维护的存储库。 任何人都可以以 PKGBUILD 的形式将他们的包添加到 AUR,前提是他们首先对 AUR 有足够的了解。