您如何知道存储库中的RPM取决于特定的RPM?

时间:2011-02-01 23:28:27

标签: dependencies rpm

很容易检查单个RPM所依赖的软件包,但是如何做相反的事情,并找出哪些RPM依赖于特定的RPM?有没有比搜索所有其他RPM的依赖列表更简单的方法呢?

3 个答案:

答案 0 :(得分:3)

新答案:

那里有一些脚本:

http://maisondubonheur.com/rpm-analyzer/似乎适用于RHEL http://noisybox.net/computers/debdeps/有一个用于Debian的dpkg

旧答案:

这是针对功能而非模块

rpm -q --whatrequires capability

请参阅http://www.rpm.org/max-rpm/s1-rpm-query-parts.html

答案 1 :(得分:1)

对于yum-utils的最新版本,只需使用:

repoquery --tree-whatrequires< package>

...如果你想让输出成为别的东西,那么在最近的yum-utils中还有很多选项。

如果您需要在旧版本(如RHEL-5)上运行它,您可以使用:

http://james.fedorapeople.org/yum/commands/pkg-deps-tree-view.py

编辑,抱歉,您想要:

http://skvidal.fedorapeople.org/misc/pkg-provs-tree-view.py

...这是需要的,需要deps-tree-view。

答案 2 :(得分:0)

我尝试的另一种方法是尝试以非root方式删除软件包(因此删除会失败并且您不会意外删除软件包)。

您将获得一个依赖包的列表,例如作为非root用户:

rpm -e zlib
error: Failed dependencies:
        libz.so.1()(64bit) is needed by (installed) boost-iostreams-1.57.0-4.fc17.x86_64
        libz.so.1()(64bit) is needed by (installed) rpm-build-libs-4.12.0.1-13.fc17.x86_64
        libz.so.1()(64bit) is needed by (installed) java-1.7.0-openjdk-devel-1:1.7.0.75-2.5.4.2.fc17.x86_64
.......... 317 more lines ........