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


9

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

yum list installed

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

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

Answers:


11

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

yum install yum-utils

得到包清理和

package-cleanup --leaves --all

以获得所有叶子的列表。


Debian / Ubuntu的术语是orphans
tshepang 2011年

2
@Tshepang,这是不正确的-并非所有叶子都未使用。并不是所有的孤儿包都一定是叶子。Debian术语中的孤立软件包意味着:以前作为依赖项(包括传递性依赖项)安装的软件包现在不再需要,因为现在已删除显式命名的已安装软件包。
maxschlepzig 2013年

2

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

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

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


这看起来非常有用。谢谢!重要的是,列出的软件包没有版本和.i686或.noarch或任何其他版本,因此在yum install -y之前不需要进行装版或修改。
gaoithe

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.