一、报错
1.报错内容
执行 yum install -y devtoolset-8-gcc* 报错
[root@hcss-ecs-a901 make-4.3] yum install -y devtoolset-8-gcc*
省略...
Transaction Summary
======================================================================================================
Install 5 Packages (+17 Dependent packages)Total size: 67 M
Installed size: 194 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/centos-sclo-rh/packages/devtoolset-8-gcc-gdb-plugin-8.3.1-3.2.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f2ee9d55: NOKEY
Retrieving key from https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
The GPG keys listed for the "CentOS-7 - SCLo rh" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.
Failing package is: devtoolset-8-gcc-gdb-plugin-8.3.1-3.2.el7.x86_64
GPG Keys are configured as: https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
2.原因
GPG密钥不匹配 或者 密钥缺失。
(一般来说,都是 .repo 文件的 gpgkey 设置错误导致的)
3.什么是 GPG 密钥?(AI 解释)
GPG(GNU Privacy Guard)密钥用于验证软件包的完整性和来源。
具体来说,它可以确保软件包在传输过程中没有被篡改,并且确实是由合法的发布者创建的。
GPG 密钥分为公钥和私钥两部分:
- 公钥:用于验证签名,通常发布给用户和系统。
- 私钥:用于对软件包进行签名,只有发布者拥有。
在使用 yum 安装软件包时,系统会使用 GPG 公钥来验证软件包的签名,以确保软件包的安全性。
二、解决
1.问问GPT
- GPT的意思是,我可能没有在 .repo 文件中设置正确的路径。
- 这是真的。
- 因为,我之前给这个文件设置的路径是 阿里云镜像下 centos-7 相关的 gpgkey
2.改进版本的解决方案
- 咱不单纯听 GPT 的,将 gpgkey 完全换成另一个。
- 小孩子才做选择。
- 我们 两个都保留!
2.1 运行命令:
vi /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
2.2 替换文件内容如下(请别直接抄,把 gpgkey 的 URL 换成你需要的 URL)
- 同时保留阿里云 和 centos 官方的 gpgkey,我的文件内容是这样的,请注意观察:
- 不同的 gpgkey,使用 “,” 分隔开
- 改动了内容后,:wq保存离开。
# CentOS-SCLo-rh.repo # # Please see http://wiki.centos.org/SpecialInterestGroup/SCLo for more # information [centos-sclo-rh] name=CentOS-$releasever - SCLo rh baseurl=https://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/ gpgcheck=1 enabled=1 gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7,https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-SCLo
2.3 引入 GPGKEY
- 引入的GPGKEY,来源于上面的 URL,你设置了几个,就引入几个
rpm --import https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-SCLo
2.4 重新安装(我装我的gcc,你装你的软件去)
yum install -y devtoolset-8-gcc*