解决 AlmaLinux 使用 dnf/yum 安装/更新软件时出现的 “Import of key(s) didn't help, wrong key(s)?” 错误
今天在为一台 AlmaLinux 8.5 (Arctic Sphynx) 进行系统更新维护时遇到了该问题,顺便记录一下,以便参照。
具体表现
执行 dnf update
时,dnf 首先提示从本地文件导入 GPG 公钥,导入成功后出现 “Import of key(s) didn't help, wrong key(s)?” 错误,并最终导致 dnf
指令无法正确安装对应的软件包。
原因分析
此处提示从本地文件导入 GPG 公钥,是为原公钥已过期,提示用户需要导入新的公钥,而系统原 /etc/pki/rpm-gpg/
路径下存在公钥文件,所以提示是否导入该文件。但路径下的公钥文件也为过期的公钥文件,所以最终提示公钥错误。
AlmaLinux 8.5 在当前(2024 年 03 月 08 日)已属于过期已久的版本,AlmaLinux OS 基金会已于 2023 年 12 月 20 日发布博文告知用户 AlmaLinux 8 的 GPG 公钥已变更(查看对应文章:AlmaLinux 8 GPG key change)的消息。
在博文内还提到,新的 GPG 公钥已内嵌在最早于 2023 年 10 月 16 日发布的 AlmaLinux OS 8.8-3.el8 中,所以,本错误只会发生在早于该版本的 AlmaLinux 中。
解决方法
在出现问题的 AlmaLinux 终端中执行以下命令以导入最新的 GPG 公钥:
rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
并使用以下指令验证是否成功导入:
rpm -q gpg-pubkey-ced7258b-6525146f
如若返回
gpg-pubkey-ced7258b-6525146f
则代表公钥已存在,如若返回
package gpg-pubkey-ced7258b-6525146f is not installed
则需要再次执行上方 rpm --import
命令导入 GPG 公钥