rpm包的安装,查询,卸载,升级,校验,数据库重建,验证数据包

时间:2021-03-19 15:03:50

rpm命名:

包:组成部分

主包:bind-9.7.1-1.i586.e15.rpm

子包:bind-lib-9.7.1-1.i586.e15.rpm

bind-utils-9.7.1-1.i586.e15.rpm

包名:

name-version-release.arch.rpm

bind-major.minor.release-release.arch.rpm

主版本号:重大改进

次版本号:某个子功能发生重大变化

发型号:修正了部分bug,调整了一些功能,

第一个release:软件作者的发型版本

第二个release:编译该软件的作者,也是rpm包的作者的发型版本

rpm包:

二进制格式:

rpm包作者下载源程序,编译配置完成后,制作成rpm包

源码格式:

需要编译安装

rpm:

1.安装

-ivh:最常用的选项

-i:安装

-h:以#显示进度,每个#表示%2

-v:显示详细过程

-vv:显示更加详细的过程

--nodeps:强制安装,忽略依赖关系(可能导致安装以后不能使用)

--replacepkgs:重新安装,替换原有安装

--replacefiles:替换安装

--oldpackage:降级安装

--force:强制安装,相当于--replacepkgs+--replacefiles+--oldpackage三个综合

2.查询

rpm

-q  PACKAGE_NAME:查询指定的包是否已安装

-qa :查询所有已经安装的包

-qi PACKAGE_NAME:查询指定包的说明信息

-ql PACKAGE_NAME:查询指定包安装后生成的文件列表

-qf FILE_NAME :查询指定的文件是由安装哪个rpm包时生成的

-qc PACKAGE_NAME:查询指定包安装的配置文件

-qd PACKAGE_NAME:查询指定包安装的帮助文件

-q --scripts PACKAGE_NAME:查询指定rpm安装时候执行的脚本

rpm -qpi PACKAGE_FILE:如果某rpm包尚未安装,需要查询说明信息:

rpm -qpl PACKAGE_FILE:--------------------------------------------安装以后生成的文件,

3.升级

rpm

-Uvh:如果装有老版本的,则升级;否则,安装

-Fvh:-----------------------------------------------什么也不做

--oldpackage:降级

4.卸载

rpm

-e:卸载

--nodeps:只卸载指定文件,不卸载依赖的文件

5.校验

rpm

-V:检查文件是否被更改过

6. 重建数据库(/var/lib/rpm/*)

rpm

--rebuilddb:重建数据库

--initdb:初始化数据库

7.检验来源合法性,以及软件完整性(/etc/pki/rpm-gpg/RMP-GPG-KEY-rehat-release)

rpm

-K:验证完整性

dsa, gpg:验证来源合法性,也就是验证签名,可以使用--nosignature,略过此项

sha1, md5:验证软件包完整性,可以使用--nodigest,略过此项

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rehat-release:导入rethat颁发的证书