系统升级期间缺少 RPM-GPG-KEY-fedora-32-x86_64

joz*_*yqk 4 linux fedora dnf

在尝试运行时,sudo dnf system-upgrade download --refresh --releasever=32在所有软件包下载并即将安装后,我收到以下错误:

warning: /var/lib/dnf/system-upgrade/kernel-core-5.6.10-300.fc32.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 12c944d0: NOKEY
Curl error (37): Couldn't read a file:// file for file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-32-x86_64 [Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-32-x86_64]
Run Code Online (Sandbox Code Playgroud)

消息并没有错。那里没有具有该名称的文件。什么工具可以为我下载和安装 GPG 密钥以及如何运行它?我猜这不是我应该手动完成的事情。


在此之前我也看到过类似如下的错误:

warning: kernel-core.fc25.x86_64.rpm: Header V3 RSA/SHA1 signature: NOKEY, key ID abcdef12
Run Code Online (Sandbox Code Playgroud)

这引导我到https://docs.fedoraproject.org/en-US/Fedora/15/html/Deployment_Guide/sec-Installing_and_Upgrading.html

如果您没有安装适当的密钥来验证签名,则该消息包含单词 NOKEY:

太棒了,该页面包含有关安装密钥的信息,但没有提供有关实际下载密钥的信息。

joz*_*yqk 6

我最终手动完成了这件事。它需要 3 个键和一个符号链接:

  1. Fedora 主键:

    sudo su
    cd /etc/pki/rpm-gpg/
    wget https://src.fedoraproject.org/rpms/fedora-repos/raw/master/f/RPM-GPG-KEY-fedora-32-primary
    ln -s RPM-GPG-KEY-fedora-32-primary RPM-GPG-KEY-fedora-32-x86_64
    
    Run Code Online (Sandbox Code Playgroud)
  2. Rpmfusion 自由和非自由密钥:

    links https://rpmfusion.org/keys # terminal based browser :)

    (跳过“gpg --keyserver pgp.mit.edu --recv-keys Key_ID”部分 - 它对我没有任何作用)

    下载“Fedora 32 免费的 RPM Fusion”和“Fedora 32 非免费的 RPM Fusion”。

    将它们保存到,或保存并移动到,/etc/pki/rpm-gpg/

    这为我解除了系统升级的障碍。但是我确实注意到现有的密钥将被保存为*-primary并具有指向该密钥的符号链接。