Linux 检查RPM依赖项

Linux 检查RPM依赖项,linux,dependency-management,rpm,rhel,Linux,Dependency Management,Rpm,Rhel,当您在Ubuntu上使用.deb软件包安装程序时,您可以使用检查软件包的依赖关系。例如,我可以从中看到Wireshark的依赖项。正如您所看到的,由红色项目符号标记的依赖项。如果您知道程序依赖的所有软件包,您可以下载它们并安装dpkg RPM软件包是否有其他网站?专门为瑞尔 我知道我可以通过其他方法获得这些软件包的名称,例如使用RPM-I安装RPM软件包时,但它对用户不友好,需要访问运行linux。此网站提供了RPM文件的搜索引擎。您可以看到依赖项和描述。它还按发行版对它们进行分类。事实上,这不

当您在Ubuntu上使用
.deb
软件包安装程序时,您可以使用检查软件包的依赖关系。例如,我可以从中看到Wireshark的依赖项。正如您所看到的,由红色项目符号标记的依赖项。如果您知道程序依赖的所有软件包,您可以下载它们并安装
dpkg

RPM软件包是否有其他网站?专门为瑞尔


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

此网站提供了RPM文件的搜索引擎。您可以看到依赖项和描述。它还按发行版对它们进行分类。

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

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

$ rpm -qp mypackage.rpm --provides
$ rpm -qp mypackage.rpm --requires
*)其次,您可以使用
yum
实用程序来自动满足这些(有些神秘的)依赖关系(假设所有存储库都正确设置,并且所有依赖关系都可用):

*)第三,有几个RPM搜索资源,其中一些已经在上面建议过了。我想再列举一个,仅供参考-

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


希望我的回答能有所帮助。

要在命令行上仅列出包的所有依赖项,下面是一个基于Peter的示例:

$ PKG="http://yum.postgresql.org/9.3/redhat/rhel-6.2-x86_64/pgdg-sl93-9.3-1.noarch.rpm"
使用yum(推荐):

上面的
-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  
$rpm-qpR$PKG
/垃圾箱/垃圾箱
配置(pgdg-sl93)=9.3-1

rpmlib(CompressedFileNames)和-这也是离题的(应该在Unix和Linux中)@marcoms:您的链接不提供依赖项。离题-属于Linux和Unix SEWhy使用选项
提供
和`推荐?我更喜欢短版本
rpm-qPp-mypackage.rpm
rpm-qRp-mypackage.rpm
。显然也适用于已安装的软件包(
rpm-qP-mypackage
rpm-qR-mypackage
$ 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
$ 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