Arch Linux 中的 Pacman 命令
Pacman是 arch Linux 和基于 arch 的 Linux 发行版的包管理器。 如果你使用过像 ubuntu 这样的基于 Debian 的操作系统,那么 Pacman 类似于基于 Debian 的操作系统的apt命令。 Pacman 包含压缩文件作为包格式并维护基于文本的包数据库。 Pacman 通过与主服务器同步包列表来使系统保持最新状态。 Pacman 可以从官方存储库或您自己的构建包安装包。
在本文中,我们将看到如何使用 Pacman 来管理基于 Arch 的系统中的软件。现在让我们看看如何使用 Pacman。
使用 Pacman 安装包
当我们在我们的机器上安装任何新的操作系统时,我们要做的第一件事就是在系统上安装软件包。现在,要在 Arch Linux 上安装软件包,请使用带有 -S 选项的 Pacman 命令并提及软件包名称。 -S 选项告诉 Pacman 同步并继续。这是一个例子
sudo pacman -S cmatrix
我们可以在 -S 选项后面提到许多包名,用空格分隔。
sudo pacman -S package1 package2 package3
然后 Pacman 将显示包的下载和安装大小并要求继续,然后只需按Y键。 Pacman 将安装的软件包分为两类。
- 隐式安装:使用 -S 或 -U 选项安装的软件包。
- 依赖项:安装该包是因为另一个包需要它。
现在让我们看看如何删除已安装的包。
使用 Pacman 删除包
当我们不再需要该包时,我们应该从系统中删除该包。要删除其他包不需要的包及其所有依赖项,请使用以下命令:
sudo pacman -Rs
要删除包而不删除其依赖项,请使用以下命令:
sudo pacman -R
要删除不再需要的依赖项,请使用以下命令:
pacman -Qdtq | pacman -Rs -
升级包
在 arch Linux 中,我们可以使用 Pacman 仅通过一个命令来升级整个系统。使用以下命令更新系统:
sudo pacman -Suy
理解一下意思, S告诉pacman同步本地数据库和主数据库。 u告诉 pacman 升级软件包, y更新系统上的本地捕获。基本上,此命令将本地 pacman 数据库与主存储库数据库同步,然后更新系统。
寻找包裹
现在让我们看看如何将包搜索到 pacman 的数据库中。要在数据库中的包的名称和描述中搜索查询,请使用以下命令:
sudo pacman -Ss
要搜索系统上已安装的软件包,请使用以下命令:
sudo pacman -Qs query1>
要在本地数据库中搜索查询,请使用以下命令:
sudo pacman -F query1>
清理包缓存
当 pacman 下载软件包时,它会将软件包存储到 /var/cache/pacman/pkg/ 中,并且在卸载软件包时 pacman 不会删除这些文件。 Pacman 使用这些文件来降级软件包或安装软件包。但是存储这些包可能需要大量空间。因此,要删除存储的包,请使用以下命令:
sudo pacman -Sc
要删除所有存储的包并捕获,请使用以下命令:
sudp pacman -Scc
安装本地包
通过使用 pacman,我们可以安装 Arch Linux 主存储库以外的软件包。使用以下命令安装软件包
对于本地:
sudo pacman -U path_to_file.pkg.tar.xz
对于远程包:
sudo pacman -U http://www.example.com/repo/example.pkg.tar.xz
故障排除
有时使用 pacman 安装软件包时我们会遇到一些错误。以下是 pacman 主要发生的错误:
- 冲突文件错误:由于存储库中存在某些冲突包,因此会发生此错误。为了解决这个错误,我们可以手动重命名文件或强制覆盖函数。我们可以使用以下命令来覆盖该函数:
pacman -S --overwrite glob package
- 包无效:由于包的部分安装,可能会发生此错误。我们可以通过删除 /var/cache/pacman/pkg/ 中的 .part 文件来解决这个错误。
- 正在锁定数据库:更新数据库时 pacman 被中断时可能会发生此错误。要解决此错误,请删除文件 /var/lib/pacman/db.lck 并更新数据库。使用以下命令删除文件:
rm /var/lib/pacman/db.lck