rpm -q 功效大
如果你想要在系统上安装、卸载或是升级软件,需要对系统软件进行查询;或是有如下的场景:
- 安装了一个软件,需要知道这个软件的版本。
- 遇到一个文件,不认识它,需要知道它是什么软件,有什么作用
可以使用rpm -q 帮助。
RPM查询
包查询
首先你要知道你要查询的是哪一个包,包括:包的名字、包的版本、安装包的发行号
注意:RPM对于包名的大小写是敏感的,而且不接受没有写全的包名、版本号和发行号。且不能使用通配符。但是,给出包名片的一部分信息依然是能找到该包的,rpm -q libc-5.2.18和rpm -q libc-5.2.18-1都能正确地找到包libc-5.2.18-1。
-a :查询所有已经安装的包
使用-a选项查询在你系统上安装好的所有包:
1 [root@d0n7 ~]# rpm -aq 2 libselinux-utils-2.5-6.el7.x86_64 3 ... 4 systemd-sysv-219-30.el7_3.9.x86_64
其实-a的输出可能会有很多,还可以使用more或者grep重定向输出。
-f:查询有哪些包拥有文件
想用yum安装一个netstat,却不知道其rpm包名字。只要使用-f选项,就可以知道安装包的名字了:
1 [root@d0n7 ~]# which netstat 2 /bin/netstat 3 [root@d0n7 ~]# rpm -qf /bin/netstat 4 net-tools-2.0-0.22.20131004git.el7.x86_64
当你遇到"not owned by any package" 时, 如果你心生怀疑,使用如下方法:
1、直接切换到你所要查询文件的目录下,即使是个符号链接,也能带你到真实路径下。
2、通过namei命令来追踪链接的真实文件地址。
-p:查询一个特定的包
-p选项就是用来查询那些还没安装到你系统中的包。
-i:查询包的详细信息
在rpm -q上加上-i选项将会给出包的详细信息:
1 [root@d0n7 ~]# rpm -qi net-tools 2 Name : net-tools 3 Version : 2.0 4 Release : 0.22.20131004git.el7 5 Architecture: x86_64 6 Install Date: Thu 28 Dec 2017 04:07:24 PM CST 7 Group : System Environment/Base 8 Size : 938986 9 License : GPLv2+ 10 Signature : RSA/SHA256, Fri 11 Aug 2017 02:30:02 AM CST, Key ID 24c6a8a7f4a80eb5 11 Source RPM : net-tools-2.0-0.22.20131004git.el7.src.rpm 12 Build Date : Thu 03 Aug 2017 05:17:34 PM CST 13 Build Host : c1bm.rdu2.centos.org 14 Relocations : (not relocatable) 15 Packager : CentOS BuildSystem <http://bugs.centos.org> 16 Vendor : CentOS 17 URL : http://sourceforge.net/projects/net-tools/ 18 Summary : Basic networking tools 19 Description : 20 The net-tools package contains basic networking tools, 21 including ifconfig, netstat, route, and others. 22 Most of them are obsolete. For replacement check iproute package.
上面各项信息的意义如下所示:
- Name -- 包名
- Version-- 包的版本
- Release -- 发行号
- Install date -- 安装日期
- Group -- 分组名
- Size -- 包的大小,以byte为单位
- Summary -- 简洁的描述
- Description -- 详细的描述
- Distribution -- 所属产品
- Vendor -- 软件的作者
- Build Date -- 安装包的构建时间
- Build Host -- 构建时所在的系统类型
- Source RPM -- 源码包
-l:查找包所安装的所有文件
加上-l查询就能查询出安装包安装的所有文件。