repoquery详解——linux查看包依赖关系的神器
repoquery是yum扩展工具包yum-utils中的一个工具,所有如果你没有repoquery命令的话,可以先 sudo yum install yum-utils 安装yum-utils包。是为了加强和补充yum功能的工具,重点是查询包的关系。repoquery的官方说明是:query information from Yum repositories,故名意思,它只能查看信息,并不能执行安装卸载更新等实质性的操作。而且要和Yum库配合使用。
repoquery的命令格式和yum很像,但是又有不同,yum 的命令格式是yun [options] [command] [package ...], repoquery的命令格式是repoquery [options] [item ...],当然,也可以是repoquery -a [options],没有item,表示所有。从命令格式的不同,也可以反映出repoquery只能做查询而不支持实质性的操作。
repoquery的操作分为5类,分别是常规操作、包查询、包选择、组查询和组选择,下面一一说明:
1.常规操作
常规操作主要是规定repoquery的查询的范围,包括指定特定的库--repoid以及用url方式指定--repofrompath、增加哪些被禁的库--enablerepo、去除那些库--disablerepo(都是针对配置文件已有的库来说)、用什么插件之类的,还有其它的一些命令行常有的选项比如--quiet --version之类的,也归到这一类里面。
2.包查询
包查询选项主要是查询包的一些信息,此时的item为包名。在描述时,item是主语,怎么说呢?举个例子: repoquery --provides openssl ,这个命令查询的是: openssh (主语)这个包提供了哪些rpm文件。
查询功能包括查询基本描述信息--info、文件--list、需要哪些依赖库--requires、提供了哪些包--provides、和谁淘汰--obsoletes、和谁冲突--conflicts、变更日志--changelog,来自哪里location,源rpm包的名字source等等。
注:--requires只会列出依赖哪些库,但是不会显示这些库来自哪个源包,如果要列出源包,再附上--resolve
还有一个很重要的操作--show-duplicates,可以显示所有重复的包,这个很有用。
3.包选择
包选择操作中,item是宾语,也举一个例子说明一下什么意思:比如 repoquery --whatprovides openssl-.el7 ,这个命令查询的是:谁提供了 openssl-.el7 (宾语)这个包。看到没有,很有意思,包选择的操作中,会多一个whatxxx,和包查询中的xxx操作对于,比如--whatrequiers(哪个包依赖item我,我是宾语)和和包查询中的--requires(item我依赖哪些包,我是主语)。
包选择提供很多操作,包括whatrequires,whatconflicts等等,就不一一讲了,具体执行以下 man repoquery 命令查看一下就好了。需要注意的是,item可以是具体的报名,也可以是一部分关键字,如果要精确匹配包名,可以用--exactdeps。
这里还有一个--installed选项也很有用,它似的查询的范围仅仅限定在已经安装了的包上面。
4.组查询和组选择
组查询无非就是list grouppkgs requires四个,很简单。组选择更加简单,只有-g一个,查询所有的组。
repoquery详解——linux查看包依赖关系的神器的更多相关文章
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- 详解linux运维工程师入门级必备技能
详解linux运维工程师入门级必备技能 | 浏览:659 | 更新:2013-12-24 23:23 | 标签:linux it自动化运维就是要很方便的运用各种工具进行管理维护,有效的实施服务器保护 ...
- 详解Linux下swig 3.0.12的手动安装过程
详解Linux下swig 3.0.12的手动安装过程 首先 从http://www.linuxfromscratch.org/blfs/view/cvs/general/swig.html上下载swi ...
- Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)
1 前景回顾 1.1 Linux的调度器组成 2个调度器 可以用两种方法来激活调度 一种是直接的, 比如进程打算睡眠或出于其他原因放弃CPU 另一种是通过周期性的机制, 以固定的频率运行, 不时的检测 ...
- 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路
做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...
- Hadoop基础-Idea打包详解之手动添加依赖(SequenceFile的压缩编解码器案例)
Hadoop基础-Idea打包详解之手动添加依赖(SequenceFile的压缩编解码器案例) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编辑配置文件(pml.xml)(我 ...
- 详解Linux运维工程师
运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 之前写过运维 ...
- (转)linux traceroute命令参数及用法详解--linux跟踪路由命令
linux traceroute命令参数及用法详解--linux跟踪路由命令 原文:http://blog.csdn.net/liyuan_669/article/details/25362505 通 ...
- [转帖]详解Linux系统inode原理--硬链接、软链接、innodb大小和划分等
详解Linux系统inode原理--硬链接.软链接.innodb大小和划分等 原创 波波说运维 2019-07-17 00:03:00 https://www.toutiao.com/i6713116 ...
随机推荐
- HackSeven Canvas上的动画
当自定义View的时候,可以利用Canvas给View添加一些动画效果. 下面的例子,是在屏幕上绘制一个红色的小方块,这个小方块会在屏幕上面“乱跳”. 知识点 使用到的知识点: (1) 在View的子 ...
- C#分布式存储演练(提供项目下载)
C#简单的演练了一下分布式的存储,学习fastdns的结构,Client向ProcessCenter请求Storage的服务,然后上传文件. 分布式服务就是多个服务器作为客户端互相[配合],要中心化就 ...
- 精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!(转载)
Anagrams of string(带有重复项) 使用递归.对于给定字符串中的每个字母,为字母创建字谜.使用map()将字母与每部分字谜组合,然后使用reduce()将所有字谜组合到一个数组中,最基 ...
- C#静态类 静态方法与非静态方法比较
静态类 在类(class)上加入static修饰,表示该类无法被实例化,并将该类中,无法实例化变量或函数 静态类的主要特性 仅包含静态成员 无法实例化 静态类的本质,时一个抽象的密封类,所以不能被继承 ...
- 解决org.hibernate.NonUniqueObjectException的问题
不知道是不是之前处理懒加载的问题对session工厂进行了处理,导致了之前没有问题的地方出现了错误. 当修改班级操作时出现了错误 前端错误信息 后台处理以及报错信息 16:37:36,034 ERRO ...
- samba服务器架设
#samba服务器架设方便线上linux服务器和windows服务器之间共享 1.关闭防火墙service iptables stop 2.关闭SELinuxsetenforce 0 3.安装samb ...
- 使用vue-cli脚手架搭建项目,保存编译时出现的代码检查错误(ESLint)
一.问题 出现这么写错误是什么原因呢?相信很多小白都会像我一样,第一次接触时有点二丈和尚摸不着头脑.其实是在你用vue-cli脚手架构建项目时用了ESLint代码检查工具,如下图 那么什么是ESLin ...
- 微信小程序获取用户手机号,服务器解码demo
原理:通过微信登陆接口wx.login得到encryptedData . iv .code.经过接口处理code得到sessionkey.最后官方demo得到解密后的手机号.(接口处理这一步也可以在 ...
- 关于Execel 2007 连接到 hive odbc
官方给出的都是 2010 或2012版的连接方案,看起来与2007有些不同,但我相信这些功能都是通用的. 下载 odbc hive 驱动.http://hortonworks.com/products ...
- 关于 Linq to EF 的内存泄漏问题
查到一些解决方案: 1, http://www.codethinked.com/keep-your-iqueryable-in-check 自定义常用方法,屏蔽IQuery功能 ...