这个是 Arch Linux 软件包管理器 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 | 显示帮助信息 |
升级所有已安装的软件包
$ sudo pacman -Syu
pacman 使用 -Q 参数查询本地软件包数据库, -S 查询同步数据库,以及 -F查询文件数据库
pacman 可以在包数据库中查询软件包,查询位置包含了软件包的名字和描述
$ pacman -Ss string1 string2 ...
使用正则
$ pacman -Ss '^vim-'
要查询已安装的软件包:
$ pacman -Qs string1 string2 ...
按文件名查找软件库:
$ pacman -F string1 string2 ...
显示软件包的详尽的信息:
$ pacman -Si package_name
查询本地安装包的详细信息:
$ pacman -Qi package_name
同时显示备份文件和修改状态:
$ 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 -R package_name
删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:
# ⚠️删除类似 gnome 这样的软件包组时,将会忽略组中软件包的安装原因,因为实际操作上执行的是逐一删除软件组的每一个软件,依赖软件包的安装原因不会被忽略。
$ pacman -Rs package_name
要删除软件包和所有依赖这个软件包的程序:
# ⚠️此操作是递归的,请小心检查,可能会一次删除大量的软件包。
$ pacman -Rsc package_name
要删除一个被其他软件包依赖的软件包,但是不删除依赖这个软件包的其他软件包
# ⚠️ 此操作有破坏系统的能力,应该尽量避免使用
$ pacman -Rdd package_name
升级系统时安装其他软件包:
$ pacman -Syu package_name1 package_name2 ...
下载包而不安装它:
$ pacman -Sw package_name
安装一个本地包(不从源里下载)
$ pacman -U /path/to/package/package_name-version.pkg.tar.zst
要将本地包保存至缓存
$ pacman -U file:///path/to/package/package_name-version.pkg.tar.zst
安装一个远程包(不在 pacman 配置的源里面):
$ pacman -U http://www.example.com/repo/example.pkg.tar.zst