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 ...
随机推荐
- TSQL--时间类型和毫秒数转换
项目中使用BIGINT来存放时间,以下代码用来转换时间类型和BIGINT类型 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========= ...
- 浅谈短视频APP的发展趋势
2014年6月20日,在AppAnnie最新发布5月应用指数中,美拍荣登“非游戏类iOS榜单”全球下载量第一位置,成为全球iOS应用商店最热门APP.能在<AppAnnie应用指数>这份A ...
- C# Task的使用
1.Task的使用 创建一个Task,有三种方式 //第一种 Task t1 = new Task(() => { Console.WriteLine(DateTime.Now.ToString ...
- markdown syntax
Markdown 语法 转载自https://zh.mweb.im/markdown.html 首先应该了解的 每一个 Markdwon 使用者都应该了解的,是 Markdown 最基本的版本,也就是 ...
- MS SQL Server计算间隔时间
开始需要,写了一个计算时间间隔的函数,可以参考: 得到的结果: 再列举一个例子:
- 趣图:TCP 与 UDP 的差别
趣图:程序猿和运维狗的工作日常…… 趣图:Java 和 PHP 之间的战斗
- leecode刷题(6)-- 两个数组的交集II
leecode刷题(6)-- 两个数组的交集II 两个数组的交集II 描述: 给定两个数组,编写一个函数来计算它们的交集. 示例: 输入: nums1 = [1,2,2,1], nums2 = [2, ...
- form表单提交回调函数
form表单没有回调函数,不过可以通过jquery-form.js这个插件来实现回调函数: <form id="addform" class="form-horiz ...
- 浅谈HTTP和TCP的理解
TCP协议对应于传输层,而Http协议对应于应用层,Http协议是建立在TCP协议之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.HTTP会通过TCP建立一个连接通道,当HTT ...
- js 对象 浅拷贝 和 深拷贝
网上发现一个比较好的博客 阮一峰的感觉很不错推荐大家看看. http://www.ruanyifeng.com/blog/it/javascript/ 接下来看一下这两个拷贝方法 1.浅拷贝 拷贝就是 ...