列出 Fedora 中已安装的顶级软件包

列出 Fedora 中已安装的顶级软件包

我曾经使用 yum 列出所有已安装的软件包:

yum list installed

现在我只需要列出顶级包,即如果一个包是另一个包的依赖项,则不应显示它。侏儒的添加/删除软件可以做到这一点,但我需要终端中的输出。

我检查了 yum 手册,但找不到相应的开关。

答案1

您可以使用 yum-utils 中的 package-cleanup 工具。除了查找当前 yum 存储库中不可用的软件包、查找依赖关系已损坏的软件包、修剪旧内核以及查找重复的软件包之外,它还可以查找没有其他软件包依赖的软件包。这些被称为叶子。做

yum install yum-utils

进行包清理和

package-cleanup --leaves --all

获取所有叶子的列表。

答案2

您可以使用命令repoquery(包的一部分yum-utils)来获取此信息:

$ repoquery --installed --qf '%{n} - %{yumdb_info.reason}' --all \
    | grep 'user$' | cut -f1 -d' '

它仅列出您自己安装的软件包 - 不列出属于基本安装一部分的软件包。根据您的用例,这是否是您想要的。

答案3

你可以尝试dnf history userinstalled就是为此目的而设计的。然而,它可能会有点混乱,因为这次讨论显示。

相关内容