最近在AlmaLinux 8系统上安装git时,遇到了一个令人头疼的错误:
Import of key(s) didn't help, wrong key(s)?
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
You can remove cached packages by executing 'dnf clean packages'.
Error: GPG check FAILED
这一错误导致git安装无法顺利进行,经过一番查找,终于在AlmaLinux官方文档中找到了线索,原来是与AlmaLinux 8的GPG key有关。
问题根源
去年年底,AlmaLinux经历了一次系统故障,导致用于签署AlmaLinux 8软件包的主密钥丢失。而当前使用的GPG key即将在2024年1月过期。因此,AlmaLinux团队启用了新的GPG key来签署RPM软件包和repodata。如果系统没有及时更新,仍然使用旧的GPG key,就可能会在安装新签署的软件包(如git)时出现上述错误。
解决方案
方法一:快速导入新GPG key(推荐)
如果希望确保系统已经包含并信任新的AlmaLinux 8 GPG key,可以使用以下命令直接导入:
rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
这个命令会将新的GPG key导入到rpm数据库中。如果系统中尚未存在该密钥,它将被成功导入;如果已经信任该密钥,执行此命令不会产生任何影响,也无需进一步操作。
方法二:检查并导入新key
- 首先,检查系统中是否已经信任新的GPG key。运行以下命令:
rpm -q gpg-pubkey-ced7258b-6525146f
如果看到“gpg-pubkey-ced7258b-6525146f”的输出信息,表示新GPG key已经被信任,无需再进行操作。
如果出现“package gpg-pubkey-ced7258b-6525146f is not installed”的错误提示,则说明系统尚未信任新的GPG key,需要手动导入。
- 导入新的GPG key到rpm数据库:
rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
如果设备处于离线环境(airgapped environment),或者没有外部网络连接,并且已经安装了almalinux-release
包版本8.8-3.el8
或更高版本,也可以从本地文件导入密钥:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
方法三:常规更新依赖
如果系统足够新并且定期安装更新,理论上不会遇到问题。因为新的AlmaLinux 8 GPG key已经包含在almalinux-release
包版本8.8-3.el8
或更高版本(2023年10月16日发布)中。在这种情况下,当尝试安装使用新密钥签名的软件包时,dnf
可能会要求信任新密钥(这与在全新安装的操作系统上安装更新时的情况相同)。如果使用带有-y
参数的dnf
,则会自动信任新密钥。
总结
在遇到“Error: GPG check FAILED”错误时,不要惊慌。根据系统的具体情况,选择上述合适的方法来更新或导入新的AlmaLinux 8 GPG key,即可解决问题,顺利安装所需的软件包。希望这篇博客能够帮助到遇到同样问题的朋友们,让大家在使用AlmaLinux 8系统时更加顺畅。
评论 (0)