检查RPM依赖项

时间:2013-09-29 11:29:25

标签: linux dependency-management rpm rhel

在Ubuntu上使用.deb软件包安装编程时,可以使用Ubuntu Packages Search检查软件包的依赖关系。例如,我可以从here看到Wireshark的依赖关系。如您所见,依赖项由红色子弹标记。如果您知道程序所依赖的所有程序包,则可以下载并安装dpkg

是否有针对RPM软件包的替代网站?特别为RHEL?

我知道我可以通过其他方法获取这些软件包的名称,例如使用rpm -i安装RPM软件包时,但它不是用户友好的,需要访问运行的Linux。

3 个答案:

答案 0 :(得分:17)

事实上,这不是一个而是四个不同的问题:)。

*)首先,您可以使用以下命令快速列出下载的软件包的依赖项/要求:

$ rpm -qp mypackage.rpm --provides
$ rpm -qp mypackage.rpm --requires

*)其次,您可以使用yum实用程序来自动满足这些(有些神秘的)依赖项(假设您的所有存储库都已正确设置,并且所有依赖项都可用):

$ sudo yum install mypackage.rpm

*)第三,有几个RPM搜索资源,其中一些已在上面提出过。我想列出另一个,仅供参考 - pkgs.org

*)第四,RHEL5和RHEL6发行版还有一个更受欢迎的存储库 - EPEL。请注意,Red Hat不支持它。

希望我的答案有所帮助。

答案 1 :(得分:7)

仅列出命令行中包的所有依赖关系,这是一个基于Peter的answer构建的示例:

$ PKG="http://yum.postgresql.org/9.3/redhat/rhel-6.2-x86_64/pgdg-sl93-9.3-1.noarch.rpm"

使用 yum (推荐):

$ yum -q deplist $PKG
package: pgdg-sl93.noarch 9.3-1
  dependency: sl-release
   Unsatisfied dependency
  dependency: /bin/sh
   provider: bash.x86_64 4.1.2-8.el6
  dependency: config(pgdg-sl93) = 9.3-1
   provider: pgdg-sl93.noarch 9.3-1
上面的

-q当然是可选的,相当于--quiet

使用 rpm

$ rpm -qpR $PKG
/bin/sh  
config(pgdg-sl93) = 9.3-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
sl-release  
上面的

-qpR相当于--query --package --requires

答案 2 :(得分:1)

此网站http://www.rpmfind.net/linux/RPM/为rpm文件提供搜索引擎。您可以看到依赖关系和描述。它还根据发行版对它们进行分类。