我使用 Fedora,我希望将所有软件包名称都放在列表中,但只有我自己安装的软件包名称,而不是默认的软件包名称。
答案1
这很难,因为就 RPM 而言,anaconda 作为安装一部分安装的软件包与您之后安装的软件包之间没有太大区别。事实上,如果您在安装过程中自定义了软件包选择,那么仅了解之后安装的内容并不能帮助您知道要应用哪些自定义。
您可以使用yum history
它来访问历史记录并查看软件包的安装时间,但这将包括安装时安装的软件包的任何更新。
另一种技术是在安装后立即生成一个列表,如下所示:
rpm --queryformat="%{NAME}.%{ARCH}\n" -qa | sort > base.list
然后你可以生成一个新列表:
rpm --queryformat="%{NAME}.%{ARCH}\n" -qa | sort > new.list
然后使用comm
来查找差异:
comm -13 base.list new.list
但这非常麻烦,而且如果您只想记录出于备份目的而安装的内容,我不确定是否有什么好处。
如果这就是您想要的,那么只需使用上面的命令生成一个列表,然后您可以稍后尝试使用以下命令在新安装的计算机上安装这些软件包:
yum install `cat package.list`
它会忽略任何已经安装的东西。
答案2
我知道这是一个老问题,但我想回答,因为该线程尚未关闭。
您可以使用:
dnf history userinstalled
输出将是所有用户安装的应用程序的简单列表。
来源: https://linoxy.com/linux-how-to/list-installed-packages-fedora/
答案3
该yumdb
命令具有搜索功能,您可以根据安装包的原因进行过滤。
yumdb search reason user