Pacman 备忘清单:Arch Linux 软件包管理器常用命令速查指南
2026/9/23 18:20:31 网站建设 项目流程
  • 文档
  • 知识库
  • 教程
  • 开发工具

【免费下载链接】reference

为开发人员分享快速参考备忘清单(速查表)

项目地址:https://gitcode.com/jaywcjlove/reference
点击查看免费下载

Pacman 是 Arch Linux 的软件包管理器,承担软件包的安装、升级、搜索、删除等全部生命周期管理任务。本文以 jaywcjlove/reference 仓库中的 Pacman 速查清单 为骨架,系统梳理pacman的常用命令语法、八大操作类别与关键安全注意事项,帮助你在 Arch Linux 上快速完成从系统升级、包组安装到依赖清理、按文件反查包名的完整实战操作。

命令语法与帮助信息

命令语法格式

Pacman 的命令遵循统一的语法结构:

$ pacman [ OPTIONS ] COMMAND

同步非本地(local)软件仓库并升级系统的软件包,这是 Arch Linux 日常维护最常用的操作:

$ pacman -Syu

请注意,使用 Pacman 命令时通常需要管理员权限,在大多数命令前加上sudo,例如sudo pacman -Syu

查看帮助与子命令

显示 pacman 命令和选项:

$ pacman -h 或 --help # 或 $ pacman

查看指令的完整用法(手册页):

$ man pacman

更多细节可参考 Archlinux Wiki 官方文档。

核心子命令一览

Pacman 的每一项操作都对应一个顶层子命令,下表汇总了全部可用的子命令及其功能:

| Option | Function | | :-- | -- | |pacman -D, --database| 操作软件包数据库 | |pacman -Q, --query| 从数据库中查询软件包 | |pacman -R, --remove| 从系统中移除软件包 | |pacman -S, --sync| 同步软件包 | |pacman -T, --deptest| 检查依赖关系 | |pacman -U, --upgrade| 将包升级或添加到系统,并从同步存储库安装所需的依赖项 | |pacman -F, --files| 查询文件数据库 | |pacman -V, --version| 显示版本 | |pacman -h, --help| 显示帮助信息 |

其中日常高频使用的是-S(同步/安装)、-Q(查询本地库)、-R(删除)与-F(文件反查)四类,下文逐一展开。

升级所有已安装的软件包:

$ sudo pacman -Syu

安装软件包

安装单个或多个软件包

要安装单个或者一系列软件包(包含软件包的依赖):

$ pacman -S 包名_1 包名_2 ...

通过正则表达式安装

要通过正则表达式安装一系列软件包,先用-Ssq查询匹配的包名,再将其作为参数传入-S

$ pacman -S $(pacman -Ssq 包正则表达式)

指定仓库安装

有时软件包有多个版本,放在不同的仓库内(例如extratesting),可以用仓库名/包名的格式明确指定来源:

$ pacman -S extra/包名

花括号扩展批量安装

要安装多个含有相似名称的软件包,可以使用花括号扩展:

$ pacman -S plasma-{desktop,mediacenter,nm}

花括号还支持多层嵌套,扩展到需要的层次:

$ pacman -S plasma-{workspace{,-wallpapers},pa}

安装包组

一些包属于一个可以同时安装的软件包组,直接以组名为参数即可一次性安装整个组:

$ pacman -S gnome

想要查看哪些包属于gnome组,使用-Sg

$ pacman -Sg gnome

查询包数据库

Pacman 使用三类数据库完成查询:-Q查询本地软件包数据库,-S查询同步数据库(远程软件源),-F查询文件数据库。

搜索软件包

在包数据库中查询软件包,匹配范围包含软件包的名字和描述:

$ pacman -Ss string1 string2 ...

支持正则表达式,例如匹配所有以vim-开头的包:

$ pacman -Ss '^vim-'

查询已安装的软件包:

$ pacman -Qs string1 string2 ...

按文件名查找软件库:

$ pacman -F string1 string2 ...

查看软件包详细信息

显示软件包的详尽信息(远程同步库):

$ pacman -Si package_name

查询本地安装包的详细信息:

$ pacman -Qi package_name

同时显示备份文件和修改状态(双i提供更详尽的输出):

$ pacman -Qii package_name

查看包内文件清单

获取已安装软件包所包含文件的列表:

$ pacman -Ql package_name

查询远程库中软件包包含的文件:

$ pacman -Fl package_name

校验与归属查询

查软件包安装的文件是否都存在(完整性校验):

$ pacman -Qk package_name

查询数据库获取某个文件属于哪个软件包:

$ pacman -Qo /path/to/file_name

查询文件属于远程数据库中的哪个软件包:

$ pacman -F /path/to/file_name

孤立包与显式安装包

查询所有不再作为依赖的软件包(孤立 orphans):

$ pacman -Qdt

查询所有明确安装而且不被其它包依赖的软件包:

$ pacman -Qet

清理软件包缓存

Pacman 将下载的软件包保存在/var/cache/pacman/pkg/,并且不会自动移除旧的和未安装版本的软件包,因此需要手动清理。

要删除目前没有安装的所有缓存的包,和没有被使用的同步数据库:

$ pacman -Sc

要删除缓存中的全部文件(更彻底,会清空整个缓存目录):

$ pacman -Scc

Pactree:查看依赖树

注意:pactree不再是 pacman 包的一部分,它现在在pacman-contrib包中,需先安装该包方可使用。

要显示软件包的依赖树:

$ pactree package_name

删除软件包

删除操作由-R系列子命令完成,不同参数对依赖的处理策略差异很大,务必按需选择。

删除单个软件包,保留其全部已经安装的依赖关系:

$ pacman -R package_name

删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:

# ⚠️ 删除类似 gnome 这样的软件包组时,将会忽略组中软件包的安装原因,因为实际操作上执行的是逐一删除软件组的每一个软件,依赖软件包的安装原因不会被忽略。 $ pacman -Rs package_name

要删除软件包和所有依赖这个软件包的程序:

# ⚠️ 此操作是递归的,请小心检查,可能会一次删除大量的软件包。 $ pacman -Rsc package_name

要删除一个被其他软件包依赖的软件包,但是不删除依赖这个软件包的其他软件包:

# ⚠️ 此操作有破坏系统的能力,应该尽量避免使用 $ pacman -Rdd package_name

查询一个包含具体文件的包名

当不确定某个二进制文件或配置来自哪个包时,可以借助文件数据库(-F)反查。首先同步文件数据库:

$ pacman -Fy

然后查询包含某个文件的包名,例如查询pacman自身:

$ pacman -F pacman core/pacman 5.0.1-4 usr/bin/pacman usr/share/bash-completion/completions/pacman extra/xscreensaver 5.36-1 usr/lib/xscreensaver/pacman

输出会列出所有包含该文件的软件包及其中的文件路径,方便判断文件的真实归属。

其它常用命令

升级系统时顺带安装其他软件包(将升级与安装合并为一次事务):

$ pacman -Syu package_name1 package_name2 ...

下载包而不安装它(例如先下载再离线分发):

$ pacman -Sw package_name

安装一个本地包(不从源里下载,直接以本地.pkg.tar.zst文件安装):

$ pacman -U /path/to/package/package_name-version.pkg.tar.zst

要将本地包保存至缓存(以file://协议指向本地文件):

$ pacman -U file:///path/to/package/package_name-version.pkg.tar.zst

安装一个远程包(不在 pacman 配置的源里面,直接指定 URL):

$ pacman -U http://www.example.com/repo/example.pkg.tar.zst

快速记忆要点

  • -S一族:安装与同步,-Syu升级全系统,-Ssq正则搜索包名,-Sg查看包组成员;
  • -Q一族:本地库查询,-Qs查已安装、-Qi看详情、-Qo反查文件归属、-Qdt找孤立包;
  • -R一族:删除操作,-R仅删包、-Rs连带删无用依赖、-Rsc递归删除(慎用)、-Rdd强行删除(极度危险);
  • -F一族:文件数据库,-Fy先同步文件库,-F 文件名反查包归属;
  • -Sc/-Scc:清理/var/cache/pacman/pkg/下的软件包缓存;
  • 权限:除查询类命令外,安装、升级、删除等写操作均需sudo权限。

掌握了上述命令组合,你便可以在 Arch Linux 上完成从日常升级、批量安装、依赖清理到文件溯源的全流程软件包管理。更多相关速查清单可继续查阅仓库中的 APT 备忘清单、YUM 备忘清单 等软件包管理器文档。

  • 文档
  • 知识库
  • 教程
  • 开发工具

【免费下载链接】reference

为开发人员分享快速参考备忘清单(速查表)

项目地址:https://gitcode.com/jaywcjlove/reference
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询