我们的生产服务器正在运行 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
rpm -q --requires somepackagehere
一个是
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