安装
pacman -S package_name
搜索
pacman -Ss package_name
yay -S package_name 安装
yay -ss package_name 搜索
yay -c # 卸载所有无用的依赖。类比 apt-get autoremove
删除单个软件包,保留其全部已经安装的依赖关系
pacman -R package_name
删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:
pacman -Rs package_name
要删除软件包和所有依赖这个软件包的程序:
# pacman -Rsc package_name
警告: 此操作是递归的,请小心检查,可能会一次删除大量的软件包。
要删除软件包,但是不删除依赖这个软件包的其他程序:
# pacman -Rdd package_name
pacman 删除某些程序时会备份重要配置文件,在其后面加上*.pacsave扩展名。-n 选项可以删除这些文件:
pacman -Rn package_name
pacman -Rsn package_name
包的查询及清理
列出所有本地软件包(-Q,query查询本地;-q省略版本号)
$ pacman -Qq (列出有816个包)
列出所有显式安装(-e,explicitly显式安装;-n忽略外部包AUR)
$ pacman -Qqe (列出200个包)
列出自动安装的包(-d,depends作为依赖项)
$ pacman -Qqd (列出616个)
列出孤立的包(-t不再被依赖的"作为依赖项安装的包")
$ pacman -Qqdt (列出35个)
注意:通常这些是可以妥妥的删除的。(sudo pacman -Qqdt | sudo pacman -Rs -)
列出查询包所拥有的文件
$ sudo pacman -Ql iw
iw /usr/
iw /usr/bin/
iw /usr/bin/iw
iw /usr/share/
iw /usr/share/man/
iw /usr/share/man/man8/
iw /usr/share/man/man8/iw.8.gz
check 检查包文件是否存在(-kk用于文件属性)
$ sudo pacman -Qk iw
iw: 7 total files, 0 missing files
查询提供FILE的包
$ sudo pacman -Qo /usr/share/man/man8/iw.8.gz
/usr/share/man/man8/iw.8.gz is owned by iw 5.0.1-1
查询包详细信息(-Qi;-Qii[Backup Files])(-Si[Repository,Download Size];-Sii[Signatures,])
$ pacman -Qi 包名
Repository 仓库名称(要联网用pacman -Si或Sii才能看到这一栏;)
Name 名称
Version 版本
Description 描述
Architecture 架构
URL 网址
Licenses 许可证
Groups 组
Provides 提供
Depends On 依赖于(依赖那些包)
Optional Deps 可选项
Required By 被需求的(被那些包需求)
Optional For 可选项
Conflicts With 与...发生冲突
Replaces 替代对象
Download Size 下载大小(要联网用pacman -Si或Sii才能看到这一栏;)
Installed Size 安装尺寸
Packager 包装者
Build Date 包装日期
Install Date 安装日期
Install Reason 安装原因(主动安装,还是应为被依赖自动安装)
Install Script 安装脚本
Validated By 验证者
$ pacman -Q -h 更多参数
-c --changelog 查看包的更改日志
-d --deps 列出作为依赖项安装的软件包[filter]
-e --explicit 列出显式安装[filter]
-g --groups 查看包组的所有成员
-i --info 查看包信息(-ii表示备份文件)
-k --check 检查包文件是否存在(-kk用于文件属性)
-l --list 列出查询包所拥有的文件
-n --native 列出已安装的软件包只能在同步数据库中找到[过滤器]
-p --file <package> 查询包文件而不是数据库
-q --quiet 显示查询和搜索的信息较少
-t --unrequired 列出所有包都不需要(可选)的包(-tt忽略optdepends)[filter]...
$ sudo cat pacman.log |grep boost 查看安装日志
[2019-03-23 17:10] [ALPM] installed boost-libs (1.69.0-1)
[2019-03-28 17:21] [PACMAN] Running 'pacman -S --config /etc/pacman.conf -- extra/rsync extra/wget community/lxc extra/protobuf extra/jsoncpp extra/libuv extra/rhash extra/cmake community/glm extra/boost community/gtest'
[2019-03-28 17:22] [ALPM] installed boost (1.69.0-1)
[2019-03-28 17:22] [PACMAN] Running 'pacman -D --asdeps --config /etc/pacman.conf -- rsync wget lxc protobuf jsoncpp libuv rhash cmake glm boost gtest'
$
$ sudo pacman -Qqdt | sudo pacman -Rs - //删除不再被需要的(曾经被依赖自动安装的程序包)
checking dependencies...
Package (47) Old Version Net Change
jsoncpp 1.8.4-2 -1.56 MiB
libuv 1.27.0-1 -0.48 MiB
...
Total Removed Size: 2159.11 MiB
:: Do you want to remove these packages? [Y/n] y
:: Running pre-transaction hooks...
(1/1) Removing old entries from the info directory file...
:: Processing package changes...
( 1/47) removing xonotic-data [##############################] 100%
...
(47/47) removing bullet [##############################] 100%
:: Running post-transaction hooks...
(1/5) Updating icon theme caches...
(2/5) Reloading system manager configuration...
(3/5) Arming ConditionNeedsUpdate...
(4/5) Updating the desktop file MIME type cache...
(5/5) Updating the MIME type database...
$
$ sudo pacman -Q |wc -l
769
$ sudo pacman -Qe |wc -l
200
$ sudo pacman -Qd |wc -l
569
$ sudo pacman -Qdt |wc -l
0
$
=====
20190422地球日,增加$ sudo pacman -Qo
原文链接:https://blog.csdn.net/feiyu5323/java/article/details/90707747