千家信息网

Arch Linux的pacman命令怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章为大家展示了Arch Linux的pacman命令怎么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。pacman 命令可以在Linux系统中查找新的
千家信息网最后更新 2026年11月02日Arch Linux的pacman命令怎么用

本篇文章为大家展示了Arch Linux的pacman命令怎么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

pacman 命令可以在Linux系统中查找新的安装包、安装和升级新的安装包、以及清理系统等功能。

Arch Linux 用户应该知道的几个重要的 pacman 命令

与其他包管理器一样,pacman 可以将包列表与软件库同步,它能够自动解决所有所需的依赖项,以使得用户可以通过一个简单的命令下载和安装软件。

通过 pacman 安装软件

你可以用以下形式的代码来安装一个或者多个软件包:

  1. pacman -S 软件包名1 软件包名2 ...

安装一个包

-S 选项的意思是同步synchronization,它的意思是 pacman 在安装之前先与软件库进行同步。

pacman 数据库根据安装的原因将安装的包分为两组:

  • 显式安装:由 pacman -S 或 -U 命令直接安装的包

  • 依赖安装:由于被其他显式安装的包所 依赖,而被自动安装的包。

卸载已安装的软件包

卸载一个包,并且删除它的所有依赖。

  1. pacman -R 软件包名

移除一个包

删除一个包,以及其不被其他包所需要的依赖项:

  1. pacman -Rs 软件包名

如果需要这个依赖的包已经被删除了,这条命令可以删除所有不再需要的依赖项:

  1. pacman -Qdtq | pacman -Rs -

升级软件包

pacman 提供了一个简单的办法来 升级 Arch Linux。你只需要一条命令就可以升级所有已安装的软件包。这可能需要一段时间,这取决于系统的新旧程度。

以下命令可以同步存储库数据库,并且 更新系统的所有软件包,但不包括不在软件库中的"本地安装的"包:

  1. pacman -Syu

  • S 代表同步

  • y 代表更新本地存储库

  • u 代表系统更新

也就是说,同步到中央软件库(主程序包数据库),刷新主程序包数据库的本地副本,然后执行系统更新(通过更新所有有更新版本可用的程序包)。

系统更新

注意!

对于 Arch Linux 用户,在系统升级前,建议你访问 Arch-Linux 主页 查看最新消息,以了解异常更新的情况。如果系统更新需要人工干预,主页上将发布相关的新闻。你也可以订阅 RSS 源 或 Arch 的声明邮件。

在升级基础软件(如 kernel、xorg、systemd 或 glibc) 之前,请注意查看相应的 论坛,以了解大家报告的各种问题。

在 Arch 和 Manjaro 等滚动发行版中不支持部分升级。这意味着,当新的库版本被推送到软件库时,软件库中的所有包都需要根据库版本进行升级。例如,如果两个包依赖于同一个库,则仅升级一个包可能会破坏依赖于该库的旧版本的另一个包。

用 Pacman 查找包

pacman 使用 -Q 选项查询本地包数据库,使用 -S 选项查询同步数据库,使用 -F 选项查询文件数据库。

pacman 可以在数据库中搜索包,包括包的名称和描述:

  1. pacman -Ss 字符串1 字符串2 ...

查找一个包

查找已经被安装的包:

  1. pacman -Qs 字符串1 字符串2 ...

根据文件名在远程软包中查找它所属的包:

  1. pacman -F 字符串1 字符串2 ...

查看一个包的依赖树:

  1. pactree 软件包名

清除包缓存

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

  1. 它允许 降级 一个包,而不需要通过其他来源检索以前的版本。

  2. 已卸载的软件包可以轻松地直接从缓存文件夹重新安装。

但是,有必要定期清理缓存以防止文件夹增大。

pacman contrib 包中提供的 paccache(8) 脚本默认情况下会删除已安装和未安装包的所有缓存版本,但最近 3 个版本除外:

  1. paccache -r

清除缓存

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

  1. pacman -Sc

要从缓存中删除所有文件,请使用清除选项两次,这是最激进的方法,不会在缓存文件夹中留下任何内容:

  1. pacman -Scc

安装本地或者第三方的包

安装不是来自远程存储库的"本地"包:

  1. pacman -U 本地软件包路径.pkg.tar.xz

安装官方存储库中未包含的"远程"软件包:

  1. pacman -U http://www.example.com/repo/example.pkg.tar.xz

额外内容:用 pacman 排除常见错误

下面是使用 pacman 管理包时可能遇到的一些常见错误。

提交事务失败(文件冲突)

如果你看到以下报错:

  1. error: could not prepare transaction

  2. error: failed to commit transaction (conflicting files)

  3. package: /path/to/file exists in filesystem

  4. Errors occurred, no packages were upgraded.

这是因为 pacman 检测到文件冲突,不会为你覆盖文件。

解决这个问题的一个安全方法是首先检查另一个包是否拥有这个文件(pacman-Qo 文件路径)。如果该文件属于另一个包,请提交错误报告。如果文件不属于另一个包,请重命名"存在于文件系统中"的文件,然后重新发出更新命令。如果一切顺利,文件可能会被删除。

你可以显式地运行 pacman -S –overwrite 要覆盖的文件模式**,强制pacman` 覆盖与 给模式匹配的文件,而不是手动重命名并在以后删除属于该包的所有文件。

提交事务失败(包无效或损坏)

在 /var/cache/pacman/pkg/ 中查找 .part 文件(部分下载的包),并将其删除。这通常是由在 pacman.conf 文件中使用自定义 XferCommand 引起的。

初始化事务失败(无法锁定数据库)

当 pacman 要修改包数据库时,例如安装包时,它会在 /var/lib/pacman/db.lck 处创建一个锁文件。这可以防止 pacman 的另一个实例同时尝试更改包数据库。

如果 pacman 在更改数据库时被中断,这个过时的锁文件可能仍然保留。如果你确定没有 pacman 实例正在运行,那么请删除锁文件。

检查进程是否持有锁定文件:

  1. lsof /var/lib/pacman/db.lck

如果上述命令未返回任何内容,则可以删除锁文件:

  1. rm /var/lib/pacman/db.lck

如果你发现 lsof 命令输出了使用锁文件的进程的 PID,请先杀死这个进程,然后删除锁文件。

上述内容就是Arch Linux的pacman命令怎么用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

文件 软件 数据 数据库 软件包 命令 系统 更新 版本 升级 缓存 同步 字符 字符串 软件库 内容 存储 事务 代表 文件夹 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 喔噻互联网科技有限公司 深圳市人人互联网科技有限公司 重生之互联网科技帝国 朗新科技与工业互联网 互联网络科技有限公司 金融科技与互联网金融 苏州互联网科技贷款公司 有木互联网科技 科技互联网创业计划书 互联网科技公司的市场部门 全球顶尖互联网科技公司 洛阳昕诺飞互联网科技有限公司 健康食品互联网创新科技园项目 中国科技创新与世界互联网大会 阿里互联网科技企业 长沙互联网科技 四川互联网展示科技馆设计 东营紫格互联网科技 互联网界的黑科技 陕西彩京云互联网科技有限公司 互联网络科技 百单互联网科技有限公司 奔汉互联网科技 广西互联网科技公司 金融科技与互联网金融相同和不同 中化能源互联网科技招聘 互联网为啥属于高科技 电子商务与互联网科技的关系 富国互联网科技002692 国产互联网科技公司
0