如何获取用户显式安装的软件包列表?
我知道:
pacman -Qe
pacman -Qi
但这些似乎包括我的发行版的默认包(例如 sudo)。我只想列出用户使用“pacman -Syu newpackage”安装的软件包
答案1
Arch Linux 实际上并没有一组默认软件包,但如果您从指南安装,您可能会安装base
软件包组,并且可能安装base-devel
.您可以用来comm
过滤这些(我假设bash
在这里):
comm -23 <(pacman -Qqett | sort) <(pacman -Qqg base-devel | sort | uniq)
如果您想包含显式安装的软件包,并且这些软件包也是某些其他软件包的依赖项,则可以使用Qqe
而不是。Qqett
答案2
更简单的解决方案,保持历史顺序:
grep -i installed /var/log/pacman.log
但是,您将在此列表中进行升级,并且它不会仅包含显式安装的
答案3
包含 AUR 的替代选项
# packages installés explicitements - la base - les foreign
pacman -Qqe | grep -vx "$(pacman -Qqg base-devel)" | grep -vx "$(pacman -Qqm)" > main.lst
## Create local.lst of local (includes AUR) packages installed
# que les foreign
pacman -Qqm > aurandlocal.lst