Gna*_*nam 38 redhat centos rpm dependencies centos5
我们的生产服务器正在运行 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
Run Code Online (Sandbox Code Playgroud)
另外,为什么它在sqlite-3.3.6-2
这里列出了 2 个条目?
dav*_*vey 36
该yum deplist
命令将向您显示哪些rpm是依赖项,这是该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
Run Code Online (Sandbox Code Playgroud)
Ign*_*ams 33
rpm -q --requires somepackagehere
一个是i?86
包,一个是x86_64
包。
按照 Ignacio 的回答,您可以通过执行以下操作来查看包的具体架构:
$ rpm -qa --queryformat "%{NAME} %{ARCH}\n" sqlite
sqlite i686
Run Code Online (Sandbox Code Playgroud)
就我而言,我只有一个 i686 包……但是您可以通过这种方式获得与这些包关联的架构。如果您对可以从 --queryformat 中获得的其他内容感兴趣,请发出 arpm --querytags
以查看可用变量列表。
小智 5
人们已经回应:
rpm -q --requires PKG
yum -q deplist PKG
是的,无论是rpm
或yum
作品,并正确回答问题。rpm
和之间的主要区别在于yum
yum 还显示您可以安装哪些软件包以满足库和/或文件要求。不幸的是,如果没有安装软件包,这些方法都没有用。由于原始海报已经指定您正在检查的软件包已安装,因此这是一个静音点。
如果您没有安装该软件包怎么办?yum
仍然可以使用,但间接使用。您可以通过取消安装操作来进行模拟安装。
printf n | yum install PKG | grep -- "---> Package"
Run Code Online (Sandbox Code Playgroud)
下面是一个例子:
printf n | yum install php | grep -- "---> Package"
---> Package php.x86_64 0:5.4.16-45.el7 will be installed
---> Package php-cli.x86_64 0:5.4.16-45.el7 will be installed
---> Package php-common.x86_64 0:5.4.16-45.el7 will be installed
---> Package libzip.x86_64 0:0.10.1-8.el7 will be installed
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
115033 次 |
最近记录: |