今天下午折腾Arch(之前更新包的时候断电了)总结一下学到的一些pacman用法。

1.有些时候系统会产生几个孤立(orphans)包,它们已经在arch源(以及各类repo)里找不到了。

删掉的方法很简单:

显示孤立包
$ pacman -Qtdq
递归删除
$ pacman -Rs $(pacman -Qtdq)

2.Archlinux 不支持部分升级,一定要全部更新

3.备份已安装包列表的方法

列出除了base base-devel 之外的软件包:
$ comm -23 <(pacman -Qeq|sort) <(pacman -Qgq base base-devel|sort)
列出非本地的软件包:
$ comm -23 <(pacman -Qeq|sort) <(pacman -Qmq|sort)

4.安装(更新)时断电,我得到了一大堆ldconfig: xxxx is empty ….错误,解决办法是一个个找到对应的软件包并重装。

查询对应.so文件的软件包名
$ pacman -Fo /usr/lib/....
强制重装
$ pacman -S --force ....

5.Cleaning the package cache

#To remove all the cached packages that are not currently installed, and the unused sync database, execute:
$ pacman -Sc
#Use clean twice removes all files from cache
$ pacman -Scc

参考:

pacman:Tips&tricks简体中文.
pacman:Tips&tricks.
Archlinux System_maintenance.
Archlinux pacman 简体中文
Archlinux pacman
[Solved]Pacman, “is empty, not checked”