在上面演示的图片中,在每次安装软件包时都会有一个警告信息。软件包在打包制作时,会附加上用单向加密了的软件包自身的特征码,只有与之对应的公钥才能解密验证包的合法性并得到特征码,再利用特征码验证软件包的完整性。由于在本地没有对应的公钥所以才会出现上面的警告信息。这时需要获取公钥,公钥的获取很关键,直接关系着软件包的来源合法性。
首先要获取并导入信任的包制作者的密钥,对于CentOS发行版来说:
系统在安装完成后,系统会自动复制一份公钥至/etc/pki/rpm-gpg/ 下,用命令导入公钥,如下:
01
[root@localhost ~]# rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
还有一种就是把密钥路径指向发行版光盘:
01
[root@localhost ~]# rpm -import /media/RPM-GPG-KEY-CentOS-7
接下来安装软件包时系统就可以自动验证了。
还可以在安装软件包前,手动验证:
数据库重建rpm管理器数据库路径:
/var/lib/rpm/
所有的查询操作都是通过此处的数据库进行的。
命令格式:
01
rpm {--initdb|--rebuilddb} [--dbpath DIRECTORY] [--root DIRECTORY]
其中:
--initdb:初始化数据库,当前无任何数据库可实始化创建一个新的;当前有时不执行任何操作
--rebuilddb:重新构建,通过读取当前系统上所有已经安装过的程序包进行重新创建
应用: