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颁发的证书