在Centos中检查RPM包的依赖性

最近在定制系统RPM包时发现包经常会提示缺少各种依赖,这里就需要去检查包的依赖关系。方法主要一下几种:

一、列出所有依赖包

使用命令:rpm -qR  可以列出目标包的所有依赖包

在Centos中检查RPM包的依赖性

但是这种方法只适用于已安装的包。如果你需要检查一个未安装包的依赖关系,你首先需要把这个包先下载到本地来(不需要安装),使用yumdownloader命令即可下载

1、安装yumdownloader

# yum install yum-utils

2、下载rpm包

# yumdownloader --destdir=. openssh

3、使用 "-qpR"参数显示该包的依赖关系

# rpm -qpR openssh-5.3p1-114.el6_7.x86_64.rpm

二、列出包的依赖关系

使用repoquery工具来罗列包的依赖关系,它与包是否安装无关

# repoquery -requires -resolve

如果命令用不了需要安装yum-utils工具

在Centos中检查RPM包的依赖性

PS:repoquery的工作需要保持网络的畅通,因为repoquery需要在Yum库中查找信息。

三、rpmreaper工具

rpmreaper本来是用作清理系统中无用以及它们所依赖的包,它有很直观的ncurses界面来展示已安装的包和它们依赖关系的树形图。

1、安装rpmreaper,需要EPEL库

# yum install rpmreaper

2、运行命令

在Centos中检查RPM包的依赖性

rpmrepater会向用户显示已安装包的列表,你可以使用上/下箭头来滚动屏幕。

你可以在指定包上使用"r"键来显示其依赖关系,循环在指定包上按下"r"键可以展示出余下的信息。

"L"标志的意思是说这个包是一片“孤叶”,意思说说没有任何包依赖它。

"o"标志是说这个包是整个依赖链的中间部分。

按下"b"键会显示其他依赖于该包的其他包。

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: