如何创建所有手动安装的应用程序的列表?


10

我使用Fedora,并且希望将所有软件包名称都列在列表中,但只列出我自己安装的软件包名称,而不是默认软件包名称。


尝试查看该yum.log文件,它应该具有已安装软件包的历史记录。但是,我相信这也包括所有依赖项。我相信它位于/var/log/yum.log
Shickadance先生,2011年

仅供参考,我为DNF添加了功能请求以涵盖此用例。DNF实际上跟踪此信息,但是据我所知,没有用于显示它的UI。bugzilla.redhat.com/show_bug.cgi?id=1278124
mattdm 2015年

Answers:


6

这很困难,因为就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`

并且它只会忽略已安装的所有内容。


这就像一个魅力!
sergiofbsilva 2012年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.