今天在CentOS7中使用yum命令的时候提示Couldn’t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-7。
GPG在Linux上的应用主要是实现官方发布的包的签名机制。
GPG分为公钥及私钥。
公钥:顾名思意,即可共享的密钥,主要用于验证私钥加密的数据及签名要发送给私钥方的数据。
私钥:由本地保留的密钥,用于签名本地数据及验证用公钥签名的数据。
实现原理(以Red Hat签名为例):
1>RH在发布其官方的RPM包时(如本地RHEL光盘及FTP空间包),会提供一个GPG密钥文件,即所谓的公钥。
2>用户下载安装这个RPM包时,引入RH官方的这个RPM GPG公钥,用来验证RPM包是不是RH官方签名的。
导入GPG-KEY:
可以去https://www.redhat.com/security/team/key/或/etc/pki/rpm-gpg查找相应的GPG密钥,并导入到RPM:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY
首先查看/etc/pki/rpm-gpg目录下文件:
[root@localhost rpm-gpg]# pwd
/etc/pki/rpm-gpg
[root@localhost rpm-gpg]# ll
total 12
-rw-r--r--. 1 root root 1690 Aug 30 2017 RPM-GPG-KEY-CentOS-7
-rw-r--r--. 1 root root 1004 Aug 30 2017 RPM-GPG-KEY-CentOS-Debug-7
-rw-r--r--. 1 root root 1690 Aug 30 2017 RPM-GPG-KEY-CentOS-Testing-7
导入:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
即可。