¶
-S, --sync
:源里的包
安装或升级某包 |
¶ -R
:
移除某包
一般用sudo pacman -Rs 包名
:
-s, --recursive |
-c
:
cascade,同时移除依赖该包的其他包。例如A依赖B依赖C,那么pacman -Rc C
会同时移除A
B C。
参考:pacman: cascade vs. recursive
¶
-F, --files
: Query the files database
首先需要更新一下file database:
pacman -Fy |
一般用来查看命令由哪个包提供。比如查看dig
命令由哪个包提供。有两种方法:
pacman -F dig |
输出:
extra/bind 9.16.25-1 |
这个方法可以自己写正则表达式匹配,可能比较灵活一点:
pacman -Fl | grep -e "/dig$" |
-e
: 使用正则表达式。
$
: 匹配行末。
输出:
bind usr/bin/dig |
¶
所以安装bind
sudo pacman -S bind |
DiG 9.18.0 |
参考:manjaro pacman查看已安装命令隶属于哪个包(arch应该也行)
¶
-Q
: 查看已安装的包
所有包 |
这里面也包括用yay安装的包。
参考:
How to find which package holds a file?
¶
-Qu
: 查看可更新包
先更新源,获取最新应用的列表:
sudo pacman -Sy |
查询可更新包:
pacman -Qu |
yay同理:
yay -Sy |
¶ 查看某包被哪些包依赖
pacman -Qi 包名 |
里面的Required By
后面的就是依赖这个包的包。
或者用pkgtools
包里的whoneeds
:
archlinuxcn源里也有pkgtools |
¶ 无效或已损坏的软件包
可能是archlinux-keyring
过时了,需要更新一下:
sudo pacman -Sy archlinux-keyring && sudo pacman -Su |
来源:
https://wiki.archlinux.org/title/Pacman/Package_signing#Upgrade_system_regularly
¶ 不再使用的依赖
pacman -Qdt |
其中有一些可能是yay自动下载用于构建包的,所以最好肉眼挑选出不需要的包,手动卸载。如果确认里面没有需要使用的包,才可以用这条指令把它们全部卸掉:pacman -Rsn $(pacman -Qdtq)
。
来源:https://bbs.archlinux.org/viewtopic.php?id=57431