pacman使用笔记

阅读量: searchstar 2022-07-30 11:58:48
Categories: Tags:

命令行选项

-S, --sync:源里的包

# 安装或升级某包
pacman -S 包名
# 当未安装或者版本较旧时才安装
# https://superuser.com/questions/568967/prevent-pacman-from-reinstalling-packages-that-were-already-installed
pacman -S --needed 包名
# 源中某包的详细信息
pacman -Si 包名

-R: 移除某包

-s: recursive,同时移除该包的依赖。例如A依赖B依赖C,那么pacman -Rs A会同时移除A B C。

-c: cascade,同时移除依赖该包的其他包。例如A依赖B依赖C,那么pacman -Rc C会同时移除A B C。

参考:pacman: cascade vs. recursive

-Q: 查看已安装的包

# 所有包
pacman -Q
# 某包
pacman -Q 包名
# 详细信息
pacman -Qi 包名
# 包内的所有文件
pacman -Ql 包名
# 查看文件由哪个包提供
# https://bbs.archlinux.org/viewtopic.php?id=90635
pacman -Qo 相对路径或绝对路径

这里面也包括用yay安装的包。

参考:

pacman常用命令

How to find which package holds a file?

查看某包被哪些包依赖

pacman -Qi 包名

里面的Required By后面的就是依赖这个包的包。

或者用pkgtools包里的whoneeds

# archlinuxcn源里也有pkgtools
sudo yay -S pkgtools
whoneeds 包名

无效或已损坏的软件包

可能是archlinux-keyring过时了,需要更新一下:

sudo pacman -Sy archlinux-keyring && sudo pacman -Su

来源:

https://wiki.archlinux.org/title/Pacman#%22Failed_to_commit_transaction_(invalid_or_corrupted_package)%22_error

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

其他