Dependencies 如何找出存储库中哪些RPM依赖于特定RPM?

Dependencies 如何找出存储库中哪些RPM依赖于特定RPM?,dependencies,rpm,Dependencies,Rpm,检查单个RPM所依赖的软件包很容易,但是如何做相反的事情,并找出哪些RPM依赖于特定RPM?有没有比搜索所有其他RPM依赖项列表更简单的方法?新答案: 这里有一些脚本: 似乎为RHEL工作 Debian的dpkg有一个 旧答案: 这是针对功能,而不是模块 有关最新版本的yum-utils,请参见,只需使用: repoquery——树whatrequires …在最近的yum-utils中,如果您希望输出为其他内容,则还有很多选项 如果需要在旧版本(如RHEL-5)上运行,可以使用: 编辑,抱歉

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

新答案:

这里有一些脚本:

似乎为RHEL工作 Debian的dpkg有一个

旧答案:

这是针对功能,而不是模块


有关最新版本的yum-utils,请参见

,只需使用:

repoquery——树whatrequires

…在最近的yum-utils中,如果您希望输出为其他内容,则还有很多选项

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

编辑,抱歉,您需要:


…这是必需的,deps树视图是必需的。

我尝试过的另一种笨拙的方法是尝试将包作为非根目录删除(因此删除将失败,并且不会意外删除包)

您将获得一个依赖程序包列表,例如作为非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 ........

我不确定这是否是最好的答案,但肯定是有创意的。
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 ........