从零开始学习Linux(十六):RPM包管理之rpm命令管理

1、包命名规则

使用rpm命令安装包的时候,需要先弄清楚包命名的规则。

举例:Httpd-2.4.6-80.el7.centos.x86_64.rpm

  • Httpd:软件包包名;
  • 2.4.6:软件版本;
  • 80:软件发布的次数;
  • el7.centos:适合的Linux平台;
  • x86_64:适合的硬件平台 x86表示32位系统 64表示64位系统 noarch 表示任何硬件平台都可以安装;
  • rpm:rpm包扩展名(rpm后缀名是一个约定,用来给系统管理员看的);

在系统安装源文件中,有Packages文件夹,查看里面的包均是此命名规则。如下图所示:

从零开始学习Linux(十六):RPM包管理之rpm命令管理_第1张图片

注意:Httpd-2.4.6-80.el7.centos.x86_64.rpm为包全名,Httpd是包名。包名和包全名是有区别的,Linux系统命令是区分这两个名称的。

2、RPM包依赖性

2.1、树形依赖
从零开始学习Linux(十六):RPM包管理之rpm命令管理_第2张图片

解决树形依赖:按照安装提示说明,逐个安装包。即要想安装包A,先安装包B和包C,要想安装包C先安装包D和包E。

2.2、环形依赖
从零开始学习Linux(十六):RPM包管理之rpm命令管理_第3张图片

解决环形依赖:同时安装包A、包B、包C。

2.3、模块依赖

有时候在安装包的时候会报错“.so.数字”的依赖性错误,此错误为模块依赖错误。

这时候,我们需要先知道此模式是属于哪个RPM包的。

可以进入 http://www.rpmfind.net 网站,查询某个模块属于哪个包。

从零开始学习Linux(十六):RPM包管理之rpm命令管理_第4张图片

3、安装、升级与卸载

在安装升级软件包时候,要是用包全名。而且要注意路径,必须能够访问到包的的安装源文件才可以。

在操作软件包或者卸载软件包的时候,可以使用包名。

3.1、安装命令

命令格式:rpm -ivh 包全名
参数说明:

  • i 安装;
  • v 显示详细安装信息;
  • h 显示进度;

例如执行命令安装Httpd包,此时要使用包全名。

rpm -ivh Httpd-2.4.6-80.el7.centos.x86_64.rpm
3.2、升级命令

命令格式:rpm -Uvh 包全名
参数说明:

  • -U 升级
3.3、卸载命令

命令格式: rpm -e 包名
参数说明:

  • -e 卸载;

4、RPM包查询

4.1、查询指定包名是否安装

命令格式:rpm -q 包名

查询是否安装了zip包,执行命令:

rpm -q zip
4.2、查询所有安装的包

执行命令:

rpm -qa
4.3、查询所有含有关键字的包

命令格式:rpm -qa | grep [关键字]

查询zip相关的包,执行命令:

rpm -qa | grep zip

如下图所示:

从零开始学习Linux(十六):RPM包管理之rpm命令管理_第5张图片
4.4、查询软件包详细信息

执行命令:

 rpm -qi 包名

参数说明:

  • -i 查询软件信息;
  • -p 查询未安装包信息;

例如查询zip包的软件详细信息,如下图所示:

从零开始学习Linux(十六):RPM包管理之rpm命令管理_第6张图片
4.5、查询包文件安装位置

执行命令:

 rpm -ql 包名

参数说明:

  • -l 列表;
  • -p 查询未安装包信息;
从零开始学习Linux(十六):RPM包管理之rpm命令管理_第7张图片
4.6、查询文件属于哪个RPM包

执行命令:

rpm -qf 系统文件名

查询/usr/share/man/man1/zip.1.gz文件是属于哪个包的,查询结果:zip-3.0-23.el8.x86_64。

4.7、查询软件包的依赖性
rpm -qR 包名
从零开始学习Linux(十六):RPM包管理之rpm命令管理_第8张图片

5、RPM包校验

rpm -V 已安装的包名

校验一下zip的RPM包,如下图所示:

没有任何信息,表示没有任何更改。

我们编辑一下 /usr/share/doc/zip/README 文件,保存后重新校验RPM包,如下图所示:

S.5....T. d /usr/share/doc/zip/README

返回的信息包含三个部分:

第一部分 S.5....T.

验证文件8个信息:

  • S:文件大小是否改变;
  • M:文件的类型或文件的权限(rwx)是否被改变;
  • 5:文件MD5校验和是否改变,MD5是进行文件完整性验证的;
  • D:设备的中,从代码是否改变;
  • L:文件路径是否改变;
  • U:文件的所有者是否改变;
  • G:文件的所属组是否改变;
  • T:文件的修改时间是否改变;
第二部分 d

文件类型:

  • c:配置文件;
  • d:普通文档;
  • g:“鬼”文件,很少见,就是该文件不应该被这个RPM包包含;
  • l:授权文件;
  • r:描述文件;
第三部分 /usr/share/doc/zip/README

文件具体路径

你可能感兴趣的:(从零开始学习Linux(十六):RPM包管理之rpm命令管理)