前言:包制作者制作完成之后会附加数字签名于包上;包的制作者使用单向加密提取原始数据的特征码,而后使用自己的私钥加密这段特征码,附加原始数据后面。
验证包来源合法性和完整性的过程:
前提:必须有可靠机制获取到包制作者的公钥
1、使用制作者的公钥解密加密的特征码,能解密则意味着来源合法
2、使用与制作者同样的一样加密算法提取原始数据的特征码,并与解密出来的特征码比对,相同,则意味着完整性没问题,所以我们必须在当前系统上导入包的制作者的公钥
导入公钥:
rpm –-import /path/to/key_file小贴士:centos6的密钥是在光盘里的“RPM-GPG-KEY-CentOS-6 ”文件
显示所有已导入的gpg格式的公钥:
rpm -qa gpg-pubkey*显示公钥的详细信息:
rpm -qi gpg-pubkey-name检查包安装过程中会自动执行,若要手动检测请如下操作:
手动检查:
rpm -K /path/to/package_file rpm –-checksig /path/to/package_file不检查包完整性:
rpm -K –-nodigest不检查来源合法性:
rpm -K –-nosignature实验:
误删除rpm修复方法:
1.进入救援模式
2.创建挂载目录:
mkdir /mnt/cdrom3.挂载光盘镜像:
mount -r /dev/sr0 /mnt/cdrom4.进入软件包目录:
cd /mnt/cdrom/Packages/5.安装rpm:
rpm -ivh rpm-4.11.3-17.el6.x86_64- --root=/mnt/sysimage/
练习:
8.1、了解软件包管理器的来源与使用
8.2、熟悉RPM包的命名格式 name-version-release.arch.rpm
8.3、熟悉打包和分包机制
8.4、熟悉RPM命令的使用 ,包括 安装、卸载、查询、升级、校验、公钥导入、合法性的检验、RPM数据库重建
虽然在安装软件时还有其他更好的命名,比如yum(日后再介绍),但是yum也是基于RPM而衍生出来的,而且在查询软件包很有用,日后也会经常使用这个命令,所以必须要对RPM命令非常熟悉,尤其是查询命令,对日后维护Linux系统帮助很大。建议多加练习