错误提示说明软件包 devtoolset-11-binutils
的 GPG 签名密钥和你当前配置的密钥不匹配。具体原因可能是你使用的镜像源或者仓库的 GPG 公钥不适用于 Software Collections (SCL)
,这是 CentOS 软件集合库的特性。
解决步骤:
1. 安装正确的 GPG 公钥
对于 devtoolset
这样的软件集合包,你需要安装 SCLo 的 GPG 公钥,而不是 CentOS 的标准 GPG 公钥。你可以手动下载并安装正确的密钥。
首先,下载 SCLo 仓库的 GPG 密钥:
curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-SCLo
然后,导入这个密钥:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
2. 确保仓库配置正确
编辑 /etc/yum.repos.d/CentOS-SCLo-scl.repo
或者相关的 SCLo 仓库配置文件,确保它指向的是正确的镜像源,并且指向的是 SCLo
仓库。
可以替换为阿里云的 SCLo 镜像源:
[sclo]
name=CentOS-$releasever - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/
gpgcheck=1
gpgkey=https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-SCLo
enabled=1
3. 清理缓存并重试安装
在修改密钥和仓库之后,清理 yum
的缓存并再次尝试安装:
yum clean all
yum makecache
yum -y install devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils
这些步骤应该可以解决密钥不匹配的问题。