之前我们说的RPM软件包的安装和卸载,都可以使用yum命令来代替,但是RPM软件包的查询,yum命令是代替不了的。

注意:

  • 这不是说yum没有查询命令,只是yum查询命令和RPM软件包的查询命令,所查询的东西是不一样的。
  • 执行yum命令需要联网,流程是去远程服务器去查找,下载,安装软件。本机相当于一个客户端,远程的官方服务器相当于服务端。
  • RPM软件包的查询,是查询客户端上的信息(也就是本机上的信息,如是否安装软件,软件安装到什么位置等)。
  • yum查询的是远程的官方的服务器上的信息,比如服务器上有哪些包,包的版本信息等。

1、查询RPM软件包是否安装

命令格式如下:

[root@localhost ~]# rpm -q 包名

选项:
-q:查询(query)

示例:

# 如果能看到包名,说明软件已安装
[root@localhost ~]# rpm -q httpd
httpd-2.2.15-53.e16.centos.x86_64 # 如果没有安装会提示你
[root@localhost ~]# rpm -q gdhjgas
package gdhjgas is not installed

2、查询系统中所有已安装的RPM软件包

可以查询Linux系统中所有已经安装的软件包,命令格式如下:

[root@localhost ~]# rpm -qa

选项:
-a:所有(all)
(这个命令很少用,因为会显示很多内容,不方便查看)

可以统计通过RPM方式安装的软件包个数

[root@localhost ~]# rpm -qa | wc -l
708

当然,可以用管道符来查看所需的内容,比如:

[root@localhost ~]# rpm -qa | grep httpd

你会发现,使用rpm -q 包名只能查看这个包是否安装,但是使用rpm -qa | grep 包名

会把所有包含httpd(包名)的包都列出来。

3、查询RPM软件包的详细信息

可以查询已经安装的某个软件包的详细信息(了解即可)。

命令格式如下:

[root@localhost ~]# rpm -qi 包名

选项:
-i:查询软件信息(information)

也可以查询还没有安装的软件包的详细信息。因为这些信息是在RPM软件包里的,作者事先写好的,并不是在软件安装之后才能查询软件包信息。注意要使用包全名。

命令格式如下:

[root@localhost ~]# rpm -qip 包全名

选项:
-p:查询没有安装的软件包(package)

4、查询RPM软件包中的文件列表

可以查询已经安装的软件包中的文件列表和安装的完整目录。(也就是软件的安装位置,非常常用。)

命令格式如下:

[root@localhost ~]# rpm -ql 包名

选项:
-l:列出软件包中所有的文件列表和软件所安装的目录(list)

那么,可以查询还没有安装的软件包中的文件列表和打算安装的位置吗?

答案是可以(原因同第3点)。

命令格式如下:

[root@localhost ~]# rpm -qlp 包全名

选项:
-p:查询没有安装的软件包信息(package)

5、查询系统文件属于哪个RPM包

既然可以知道每个RPM包中的文件的安装位置,那么可以查询系统文件属于哪个RPM包吗?

当然可以,不过需要注意的是,手工建立的文件是不能查询的,因为这些文件不是通过RPM包安装的,当然不能反向查询它属于哪个RPM包。

命令格式如下:

[root@localhost ~]# rpm -qf 系统文件名(也就是软件中带有的,不能是自己创建的文件。)

选项:
-f:查询系统文件属于哪个软件包(file)

示例:

# 自己创建的文件演示
[root@localhost ~]# rpm -qf abc
file/root/abc is not owned by any package(该文件不属于任何包) # 通过rpm安装包的方式,查询安装的软件产生的文件
[root@localhost ~]# rpm -qf /etc/httpd/conf/httpd.conf
httpd-2.2.15-53.e16.centos.x86_64

6、查询RPM软件包所依赖的软件包

查询系统中和已经安装的软件包有依赖关系的软件包,命令格式如下:

[root@localhost ~ # rpm -qR 包名

选项:
-R:查询软件包的依赖性(requires)

上边命令只会把所有依赖的软件包列出来,但是结果中没有办法区分,这些依赖的软件包在系统中是否已经安装。(不常用,了解即可。)

如何可以查询没有安装的软件包的依赖性?

-p选项即可。

例如,查看一下还没有安装的bind软件包的依赖包,可以执行如下命令:

[root@localhost ~]# rpm -qRp /mnt/cdrom/Packages/bind-9.8.2-0.10.rcl.e16.i686.rpm

『学了就忘』Linux软件包管理 — 42、对RPM软件包的查询操作的更多相关文章

  1. 『学了就忘』Linux服务管理 — 77、RPM包安装基于xinetd的服务的管理

    目录 1.基于xinetd服务的启动管理 (1)telnet服务安装 (2)telnet服务启动 2.基于xientd服务的自启动管理 现在Linux系统中基于xinetd的服务越来越少了,但Linu ...

  2. 『学了就忘』Linux服务管理 — 76、RPM包安装的服务管理

    目录 1.独立服务的启动管理 2.独立服务的自启动管理 方式一: 方式二:(推荐) 方式三: 3.验证 1.独立服务的启动管理 (1)使用/etc/init.d/目录中的启动脚本启动服务(推荐) [r ...

  3. 『学了就忘』Linux用户管理 — 50、用户管理相关文件详细说明

    目录 1.用户信息文件 2./etc/shadow影子文件 3./etc/group 组信息文件 4.组密码文件 5.用户的家目录 6.用户邮箱目录 7.用户模板目录 总结: 提示:严格的用户权限划分 ...

  4. 『学了就忘』Linux用户管理 — 51、用户管理相关命令

    目录 1.添加用户(useradd命令) 2.设定密码(passwd命令) 3.用户信息修改(usermod命令) 4.删除用户(userdel命令) 5.切换用户身份(su命令) 1.添加用户(us ...

  5. 『学了就忘』Linux权限管理 — 53、ACL权限详解

    目录 1.什么是ACL权限 2.开启ACL 3.ACL权限的相关命令 (1)设定ACL权限 (2)查询文件的ACL权限 (3)设置文件ACL权限给用户组 (4)给文件夹和里边的文件同时赋予ACL权限 ...

  6. 『学了就忘』Linux权限管理 — 54、sudo授权

    目录 1.什么是sudo授权 2. sudo授权说明 3.sudo命令的使用 示例1 示例2 示例3 1.什么是sudo授权 在Linux系统中,/sbin/和/usr/sbin/两个目录中的命令只有 ...

  7. 『学了就忘』Linux权限管理 — 55、文件特殊权限

    目录 1.文件特殊权限说明 2.设置SetUID 3.检测SetUID的脚本 4.设置SetGID (1)针对文件的作用 (2)针对目录的作用 5.Sticky BIT 6.设定文件特殊权限 7.文件 ...

  8. 『学了就忘』Linux权限管理 — 56、不可改变位权限(chattr)

    目录 1.命令格式 2.查看文件系统属性chattr权限 3.示例 文件系统属性chattr权限,也叫不可改变位权限,该权限没有风险,但是他能限制root用户. 1.命令格式 [root@localh ...

  9. 『学了就忘』Linux服务管理 — 75、Linux系统中的服务

    目录 1.服务的介绍 2.Windows系统中的服务 3.Linux系统中服务的分类 4.独立的服务和基于xinetd服务的区别 5.如何查看一个服务是独立的服务还是基于xinetd的服务 (1)查看 ...

  10. 『学了就忘』Linux服务管理 — 79、源码包安装的服务管理

    目录 1.源码包服务的启动管理 2.源码包服务的自启动管理 3.让源码包服务被服务管理命令识别 1.源码包服务的启动管理 # 通过源码包的安装路径,找到该服务的启动脚本, # 也就是获得该服务的启动脚 ...

随机推荐

  1. JavaFx全局快捷键实现(Kotlin)

    原文地址: JavaFx全局快捷键实现(Kotlin) | Stars-One的杂货小窝 最近整款工具需要用到全局快捷键,搜集了下网上的资料,发现有个JIntellitype库可以用来实现全局快捷键, ...

  2. Java秘诀!Java赋值运算符介绍

    运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的. Java 语言中的运算符除了具有优先级之外,还有结合性的特点.当一个表达式中出现多种运算符时,执行的先后顺序 ...

  3. spoj2 prime1 (区间筛)

    给定t组询问,每组询问包括一个l和r,要求\([l,r]\)的素数有哪些 其中\(t \le 10,1 \le l \le r \le 1000000000 , r-l \le 100000\) Qw ...

  4. [kuangbin带你飞]专题一 简单搜索 棋盘问题

    题来:链接https://vjudge.net/problem/OpenJ_Bailian-132 J - 棋盘问题 1.题目: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别. ...

  5. PTA数据结构 习题2.8 输出全排列 (20分)

    习题2.8 输出全排列 (20分) 请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间. 输入格式: 输入给出正整数n(<10 ...

  6. 使用ShardingSphere-JDBC完成Mysql的分库分表和读写分离

    1. 概述 老话说的好:选择比努力更重要,如果选错了道路,就很难成功. 言归正传,之前我们聊了使用 MyCat 实现Mysql的分库分表和读写分离,MyCat是服务端的代理,使用MyCat的好处显而易 ...

  7. 对epoll机制的学习理解v1

    epoll机制 wrk用非阻塞多路复用IO技术创造出大量的连接,从而达到很好的压力测试效果.epoll就是实现IO多路复用的关键. 本节是对epoll的本质的学习总结,进一步的参考资料为: <深 ...

  8. 【UE4 C++】获取运行时间、设置时间流速、暂停游戏

    基于UGameplayStatics 获取运行时间 /** Returns the frame delta time in seconds, adjusted by time dilation. */ ...

  9. Scrum Meeting 14

    第14次例会报告 日期:2021年06月07日 会议主要内容概述: 汇报了已完成的工作,明确了下一步目标,正在努力赶进度. 一.进度情况 我们采用日报的形式记录每个人的具体进度,链接Home · Wi ...

  10. Scrum Meeting 0507

    零.说明 日期:2021-5-7 任务:简要汇报两日内已完成任务,计划后两日完成任务 一.进度情况 组员 负责 两日内已完成的任务 后两日计划完成的任务 qsy PM&前端 测试 测试 cyy ...