• Linux软件包管理— rpm软件包查询


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

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

    1、查询软件包是否安装

    命令格式如下:

    1. [root@localhost ~ ] # rpm -q 包名
    2. 选项:
    3. -q:查询(query)
    4. #如果能看到包名,说明软件已安装
    5. [root@localhost ~ ] # rpm -q httpd
    6. httpd-2.2.15-53.e16.centos.x86_64
    7. #如果没有安装会提示你
    8. [root@localhost ~ ]# rpm -q gdhjgas
    9. package gdhjgas is not installed

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

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

    1. [root@localhost ~ ] # rpm -qa
    2. 选项:
    3. -a:所有(all
    4. (这个命令很少用,因为会显示很多内容,不方便查看)

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

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

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

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

    你会发现,使用rpm -q 包名只能查看这个包是否安装,但是使用rpm -qa | grep 包名
    会把所有包含httpd(包名)的包都列出来。

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

    可以查询已经安装的某个软件包的详细信息(了解即可)。
    命令格式如下:

    1. [root@localhost ~ ] # rpm -qi 包名
    2. 选项:
    3. -i:查询软件信息(information)

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

    1. [root@localhost ~ ] # rpm -qip 包全名
    2. 选项:
    3. -p:查询没有安装的软件包(package

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

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

    1. [root@localhost ~ ] # rpm -ql 包名
    2. 选项:
    3. -l:列出软件包中所有的文件列表和软件所安装的目录(list)

    那么,可以查询还没有安装的软件包中的文件列表和打算安装的位置吗?
    答案是可以(原因同3)。
    命令格式如下:

    1. [root@localhost ~ ] # rpm -qlp 包全名
    2. 选项:
    3. -p:查询没有安装的软件包信息(package

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

    既然可以知道每个RPM包中的文件的安装位置,那么可以查询系统文件属于哪个RPM包吗?
    当然可以,不过需要注意的是,手工建立的文件是不能查询的,因为这些文件不是通过RPM包安装的,当然不能反向查询它属于哪个RPM包。
    命令格式如下:

    1. [root@localhost ~ ] # rpm -qf 系统文件名(也就是软件中带有的,不能是自己创建的文件。)
    2. 选项:
    3. -f:查询系统文件属于哪个软件包(file)
    4. #自己创建的文件演示
    5. [root@localhost ~ ] # rpm -qf abc
    6. file/root/abc is not owned by any package(该文件不属于任何包)
    7. #通过rpm安装包的方式,安装的软件产生的文件
    8. [root@localhost ~ ] # rpm -qf /etc/httpd/conf/httpd.conf
    9. httpd-2.2.15-53.e16.centos.x86_64

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

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

    1. [root@localhost ~ ] # rpm -qR 包名
    2. 选项:
    3. -R:查询软件包的依赖性(requires)

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

    • 如何可以查询没有安装的软件包的依赖性?
      加“-p”选项即可。
      例如,查看一下还没有安装的bind软件包的依赖包,可以执行如下命令:
      [root@localhost ~]# rpm -qRp /mnt/cdrom/Packages/bind-9.8.2-0.10.rcl.e16.i686.rpm

    重点:配套学习资料和视频教学

    那么在这里我也精心准备了上述大纲的详细资料在下方链接如下

  • 相关阅读:
    FusionAD:用于自动驾驶预测和规划任务的多模态融合
    微信小程序:喝酒娱乐小游戏助力神器
    用调试来帮你分析并拿捏折半插入排序算法的流程
    SpringBoot高校宿舍管理系统
    并发编程 --- 异步方法的异常处理
    从风险评估到应急救援,实景三维为抗震减灾提供精细化决策依据
    哪些专业跟芯片有关?
    systemd服务管理与单元实例化详解
    看 AI 如何抢救破烂文档
    【科研工具的使用】A
  • 原文地址:https://blog.csdn.net/m0_59868866/article/details/126312074