如何在 Arch Linux 中使用 Pacman 命令

pacman 软件包管理器是 Arch Linux 与其他主要发行版(如 Red Hat 和 Ubuntu)的主要区别之一。它将简单的二进制包格式与易于使用的构建系统相结合。pacman 的目标是轻松管理软件包,无论是来自官方仓库还是用户自己的构建。

如何在 Arch Linux 中使用 Pacman 命令插图

如果您曾经使用过 Ubuntu 或基于 Debian 的发行版,您可能已经使用过 apt 命令。如果你刚刚安装了 Arch Linux,那么要做的第一件事就是学习使用 pacman 命令。

现在我将解释 pacman 命令的一些基本用法,这些用法是管理 Arch Linux 系统时应该知道的。

像其他软件包管理器一样,pacman 可以将软件包列表与软件仓库同步,通过解决所有必需的依赖关系,允许用户使用简单的命令下载和安装软件包。

1、使用 pacman 安装软件包

你可以用 pacman 命令安装一个或多个软件包,方式如下:

pacman -S package_name1 package_name2 package_name3

如何在 Arch Linux 中使用 Pacman 命令插图1

-S 代表同步。这表示 pacman 命令首先会同步。

更多参数:

命令解释备注
pacman -S package_name执行 pacman -S firefox 将安装 Firefox(常用可以同时安装多个包,以空格分隔包名
pacman -Sy package_name与上面命令不同的是,该命令将在同步包数据库后再执行安装。
pacman -Sv package_name在显示一些操作信息后执行安装。
pacman -U local_package_name安装本地包,其扩展名为 pkg.tar.gzpkg.tar.xz
pacman -U url安装一个远程包(不在 pacman 配置的源里面)例:pacman -U http://www.xxx.com/xxx.pkg.tar.xz

2、删除已安装的软件包

要删除单个程序包并保留其所有依赖项,请执行以下操作:

pacman -R package_name
如何在 Arch Linux 中使用 Pacman 命令插图2

要删除任何其他已安装程序包都不需要的程序包及其依赖项,请执行以下操作:

pacman -Rs package_name

更多参数:

命令解释备注
pacman -R package_name该命令将只删除包,保留其全部已经安装的依赖关系
pacman -Rs package_name在删除包的同时,删除其所有没有被其他已安装软件包使用的依赖关系(常用
pacman -Rsc package_name在删除包的同时,删除所有依赖这个软件包的程序
pacman -Rd package_name在删除包时不检查依赖

3、升级软件包

Pacman 提供了一种简单的方法来更新 Arch Linux。只需一个命令即可更新所有已安装的软件包。

以下命令同步存储库数据库并更新系统的软件包:

pacman -Syu
  • S 代表同步
  • y 表示刷新(本地缓存)
  • u 表示系统更新

基本上,-Syu 表示同步到中央存储库(主包数据库),刷新主包数据库的本地副本,然后执行系统更新。

更多参数:

命令解释备注
pacman -Syu更新软件源,并更新所有软件
pacman -Syy强行更新你的应用的软件库(源)
pacman -Syyu强行更新你的应用的软件库,再更新所有软件
pacman -Syuu强行更新你的应用的软件库,再强制更新所有软件

4、使用 pacman 搜索软件包

Pacman 可以在数据库中搜索软件包,包括软件包名称和描述:

pacman -Ss string1 string2 ...

如何在 Arch Linux 中使用 Pacman 命令插图3

要搜索已安装的软件包,请执行以下操作:

pacman -Qs string1 string2 ...

要在远程包中搜索包文件名,请执行以下操作:

pacman -F string1 string2 ..

要查看包的依赖关系树,请执行以下操作:

pactree package_naenter code hereme_

更多参数:

命令解释备注
pacman -Ss keyword在仓库中搜索含关键字的包(常用
pacman -Qs keyword搜索已安装的包(常用
pacman -Qi package_name查询本地安装包的详细信息
pacman -Ql package_name列出该包的文件
pacman -Fs keyword按文件名查找软件库
pacman -Si package_name显示远程软件包的详尽的信息
pacman -Qii package_name使用两个 -i 将同时显示备份文件和修改状态
pacman -Ql package_name获取已安装软件包所包含文件的列表
pacman -Fl package_name查询远程库中软件包包含的文件
pacman -Qk package_name检查软件包安装的文件是否都存在
pacman -Fo /path/to/file_name查询文件属于远程数据库中的哪个软件包
pacman -Q显示出所有软件 pacman -Q | wc -l 查询数量
pacman -Qdt罗列所有不再作为依赖的软件包(孤立orphans)
pacman -Qe查询所有自己安装的软件
pacman -Qeq查询所有自己安装的软件,只显示包名,不显示版本号等
pacman -Qet罗列所有明确安装而且不被其它包依赖的软件包
pacman -Qdtq查询所有不再被依赖的包名
pactree package_name显示软件包的依赖树
whoneeds package_name检查一个安装的软件包被那些包依赖
pactree -r package_name检查一个安装的软件包被那些包依赖

5、清理包缓存

Pacman 将下载的软件包存储在 /var/cache/pacman/pkg/ 中,并且不会自动删除旧的或已卸载的版本。这有一些优点:

  • 它允许降级包,而无需通过其他来源检索以前的版本。
  • 已卸载的软件包可以很容易地直接从缓存文件夹中重新安装。
  • 但是,有必要定期清理缓存以防止文件夹变大。

默认删除所有已安装和已卸载软件包的缓存版本, 除了最近的 3 个:

paccache -r
如何在 Arch Linux 中使用 Pacman 命令插图4

若要删除当前未安装的所有缓存包和未使用的同步数据库,请执行:

pacman -Sc

要从缓存中删除所有文件,这是最激进的方法,不会在缓存文件夹中留下任何内容:

pacman -Scc

标签

发表评论