You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fedora38下DNF升级GitLab-ee至16.0.1时GPG校验失败求助

在Fedora 38上升级GitLab-ee 15.11.2到16.0.1失败(GPG签名验证错误)

我在Fedora 38系统上用DNF工具升级GitLab-ee,从15.11.2版本升到16.0.1版本时失败,报错信息如下:

错误:使用证书DBEF89774DDB9EB37D9FC3A03CFCF9BAF27EAB47(GitLab, Inc. <support@gitlab.com>)验证签名时:
  1. 证书3CFCF9BAF27EAB47无效:证书已失效
      原因:主密钥已失效
      原因:过期时间为2021-07-01T19:59:40Z
  2. 密钥3CFCF9BAF27EAB47无效:密钥已失效
      原因:主密钥已失效
      原因:过期时间为2021-07-01T19:59:40Z
错误:使用证书DBEF89774DDB9EB37D9FC3A03CFCF9BAF27EAB47(GitLab, Inc. <support@gitlab.com>)验证签名时:
  1. 证书3CFCF9BAF27EAB47无效:证书已失效
      原因:主密钥已失效
      原因:过期时间为2021-07-01T19:59:40Z
  2. 密钥3CFCF9BAF27EAB47无效:密钥已失效
      原因:主密钥已失效
      原因:过期时间为2021-07-01T19:59:40Z
gitlab_gitlab-ee                                                                                                            1.9 kB/s | 3.1 kB     00:01
已安装GPG密钥:https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey(0x51312F3F)
gitlab_gitlab-ee                                                                                                            3.9 kB/s | 3.8 kB     00:00
已安装GPG密钥:https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg(0xF27EAB47)
为"gitlab_gitlab-ee"仓库配置的GPG密钥已安装,但对当前包无效。
请检查仓库是否配置了正确的密钥URL。失败的包为:gitlab-ee-16.0.1-ee.0.el8.x86_64
配置的GPG密钥为:https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey, https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg
下载的包已保存到缓存,直到下一次成功交易。
可执行`dnf clean packages`移除缓存包。
错误:GPG检查失败

我试过多种方法都没解决,求帮忙。


解决方法

1. 删除过期的GPG密钥

先列出系统里已安装的GitLab相关密钥,找到过期的0xF27EAB47密钥并删除:

rpm -qa gpg-pubkey* | grep -i gitlab
rpm -e gpg-pubkey-f27eab47-*

2. 重新导入GitLab官方最新密钥

执行以下命令导入正确的密钥文件:

curl https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg | gpg --dearmor > /etc/pki/rpm-gpg/RPM-GPG-KEY-gitlab-ee

3. 清理缓存后重新升级

先清空DNF的所有缓存:

dnf clean all

然后重新执行升级命令:

dnf upgrade gitlab-ee

4. 检查仓库配置(可选)

如果还是不行,打开GitLab的仓库配置文件/etc/yum.repos.d/gitlab_gitlab-ee.repo,确认gpgkey字段的URL和以下内容一致:

[gitlab_gitlab-ee]
name=gitlab_gitlab-ee
baseurl=https://packages.gitlab.com/gitlab/gitlab-ee/fedora/$releasever/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey
       https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

内容的提问来源于stack exchange,提问作者Gavin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 01:22:55