检查RPM依赖关系

在Ubuntu上使用.deb软件包安装编程时,可以使用Ubuntu软件包search来检查软件包的依赖关系。 例如,我可以从这里看到Wireshark的依赖关系。 正如你所看到的,由红色子弹标记的依赖关系。 如果你知道所有的程序包依赖于你,你可以下载它们并安装dpkg

有没有其他的RPM软件包的网站? 特别针对RHEL?

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

Solutions Collecting From Web of "检查RPM依赖关系"

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

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

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

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

 $ sudo yum install mypackage.rpm 

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

*)第四,RHEL5和RHEL6发行版还有另外一个流行的版本库–EPEL 。 请注意,它不被Red Hat支持。

希望我的答案(S)将有所帮助。

这个网站http://www.rpmfind.net/linux/RPM/提供了一个搜索引擎的rpm文件。 你可以看到依赖和描述。 它也分类他们每发行。

要仅列出命令行中所有包的依赖关系,下面是一个以Peter的答案为基础的例子:

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

使用百胜 (推荐):

 $ 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