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 ...
随机推荐
- angular 新建组件
创建组件 ng g component componentName 第一步:引入其他组件 ngFor指令与数据绑定(数据驱动视图) 父组件穿值到自组建
- k8s学习笔记(一)
你将学到什么 如何部署k8s集群 网络拓扑 主机名 网络地址 角色 study 92.0.0.50(内网) 192.168.203.250/19(外网) Master fnode 92.0.0.16( ...
- JavaScript中的原型模式
我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法.使用原型对象的好处是可以让所有对象实例共享它 ...
- Codeforces Round #546 (Div. 2)D(贪心,思维,SET,VECTOR,模拟)
#include<bits/stdc++.h>using namespace std;int a[300007],b[500007],c[500007];set<int>st[ ...
- shell传参给matlab问题解决办法
之前需要通过shell脚本传参给matlab程序,但是遇到一些问题,现将我遇到的问题分享出来,给遇到同样问题的人一些借鉴. shell部分脚本Execl.sh: /usr/bin/python /ho ...
- oracle重新编译所有invalid objects
点第一个,按住shift键点最后一个,右键recompile就OK了
- 返回类型和 return 语句
return 语句终止当前正在执行的函数并将控制权返回到调用该函数的地方.return 语句有两种形式: return; return expression; 不要返回局部对象的引用或指针: 函数完成 ...
- 洛谷P4526 【模板】自适应辛普森法2(Simpson法)
题面 传送门 题解 据说这函数在\(x>15\)的时候趋近于\(0\) 据说当且仅当\(a<0\)时积分发散 所以直接套自适应\(simpson\)吧-- //minamoto #incl ...
- postgreSQL PL/SQL编程学习笔记(二)
Control Structures of PL/SQL Control structures are probably the most useful (and important) part of ...
- C# winform间窗体传值简单Demo
form1是用来接收值的 using System; using System.Collections.Generic; using System.ComponentModel; using Syst ...