很容易检查单个RPM所依赖的软件包,但是如何做相反的事情,并找出哪些RPM依赖于特定的RPM?有没有比搜索所有其他RPM的依赖列表更简单的方法呢?
答案 0 :(得分:3)
新答案:
那里有一些脚本:
http://maisondubonheur.com/rpm-analyzer/似乎适用于RHEL http://noisybox.net/computers/debdeps/有一个用于Debian的dpkg
旧答案:
这是针对功能而非模块
rpm -q --whatrequires capability
答案 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 ........