如何列出 RPM 依赖项?

如何列出 RPM 依赖项?

我们的生产服务器正在运行 CentOS 版本 5.2(最终版)。

如何查看/获取/列出所有依赖项已安装RPM 包?

例如:服务器中已安装 SQLite v3.3.6。我想查看此特定包的所有依赖项。

以下是该命令的输出:rpm -qa |grep sqlite

python-sqlite-1.1.7-1.2.1
sqlite-3.3.6-2
sqlite-3.3.6-2

另外,为什么这里列出了 2 个条目sqlite-3.3.6-2

答案1

  1. rpm -q --requires somepackagehere

  2. 一个是i?86包,一个是x86_64包。

答案2

yum deplist命令将显示转速是依赖项,下面是该expect包的一个示例(即使您尚未在本地安装该包,它也能工作):

# yum deplist expect
..
..
package: expect.i386 5.43.0-5.1
 dependency: libc.so.6
  provider: glibc.i686 2.5-49
  provider: glibc.i686 2.5-49
 dependency: libtcl8.4.so
  provider: tcl.i386 8.4.13-4.el5

答案3

根据 Ignacio 的回答,您可以通过执行以下操作来查看软件包的具体架构:

$ rpm -qa --queryformat "%{NAME} %{ARCH}\n" sqlite
sqlite i686

就我而言,我只有一个 i686 包...但您可以通过这种方式获取与包相关的体系结构。如果您对从 --queryformat 中还可以获得什么感兴趣,请发出命令rpm --querytags以查看可用变量的列表。

答案4

我有一个快速的 shell 代码片段,可以打印出所有已安装的软件包及其依赖项:

for i in `rpm -qa` ; do echo "Package [$i]:"; rpm -q --requires $i ; echo ; done

相关内容