Welcome 微信登录

首页 / 操作系统 / Linux / 如何在Fedora,CentOS,RHEL中检查RPM包的依赖性

我们都知道,在基于红帽的Linux系统中,一个RPM包,需要把先将它依赖的其他包安装好才能正常的工作。对于终端用户,RPM的安装、更新、删除中存在的依赖关系已经被工具透明化了(如 yum或 DNF等)。但如果你是系统管理员或者RPM包的管理员,你需要谙熟RPM包的依赖关系,以便及时更新、删除适当的包来保证系统的正常运行。在本教程中,我将教大家如何检查RPM包的依赖关系。无论这个包是否已经安装进操作系统中,我们都有一些办法来检查它们的依赖性。制作自己的rpm包 http://www.linuxidc.com/Linux/2013-06/86435.htmLinux 下rpm安装后的目录结构和一些配置 http://www.linuxidc.com/Linux/2013-06/85761.htmrpm与yum的综合性介绍与示例演示 http://www.linuxidc.com/Linux/2013-05/84480.htmRedHat Linux---rpm 命令详解 http://www.linuxidc.com/Linux/2013-03/81971.htm

方法一

使用RPM命令可以列出目标包所依赖的所有包,如下: $ rpm -qR注意,这种方法只适用于已安装的包。如果你需要检查一个未安装包的依赖关系,你首先需要把这个包先下载到本地来(不需要安装)。要下载一个 RPM 包而不安装,可以使用叫做"yumdownloader"的工具,下面我们先安装yumdownloader:
  1. $ sudo yum install yum-utils
现在我们来检查一个未安装的RPM包的依赖关系(本例使用 tcpdump)。首先,我们使用yumdownloader把tcpdump的RPM包下载下来
  1. $ yumdownloader --destdir=. tcpdump
然后再使用 "-qpR"参数显示该包的依赖关系。
  1. # rpm -qpR tcpdump-4.4.0-2.fc19.i686.rpm

方法二

你可以使用repoquery工具来罗列包的依赖关系,它与包是否安装无关,这个工具包含在yum-utils中。
  1. $ sudo yum install yum-utils
显示目标包所依赖的包:
  1. $ repoquery --requires --resolve <package-name>
为让repoquery正常的工作,需要保持网络的畅通,应为repoquery需要在Yum库中查找信息。

方法三

第三个方法是使用rpmreaper工具。这个工具本来是用作清理系统中无用以及它们所依赖的包,rpmreaper有很直观的ncurses界面来展示已安装的包和它们依赖关系的树形图。安装rpmrepater,在CentOS中,你需要先设置好EPEL库
  1. $ sudo yum install rpmreaper
只需运行rpmreaper就可以看到RPM包的依赖关系:
  1. $ rpmreaper
rpmrepater会向用户显示已安装包的列表,你可以使用上/下箭头来滚动屏幕。你可以在指定包上使用"r"键来显示其依赖关系,循环在指定包上按下"r"键可以展示出余下的信息。"L"标志的意思是说这个包是一片“孤叶”,意思说说没有任何包依赖它。"o"标志是说这个包是整个依赖链的中间部分。按下"b"键会显示其他依赖于该包的其他包。更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-08/105626p2.htm
  • 1
  • 2
  • 下一页
Ubuntu/Linux Mint上安装Atom文本编辑器CentOS下载安装PlayOnLinux相关资讯      RPM  rpm包 
  • Linux基础教程:Linux的rpm包管理  (今 20:57)
  • 从CentOS安装R中看yum、rpm、repo  (12/18/2015 14:48:10)
  • yum仓库搭建之RPM包制作  (11/06/2015 09:04:27)
  • 如何制作RPM包  (09月06日)
  • 采用FPM工具制作RPM包  (11/09/2015 08:03:02)
  • RPM包制作方法  (08/16/2015 09:45:43)
本文评论 查看全部评论 (0)
表情: 姓名: 字数