我正在关注官方指南安装Docker。
在步骤2添加Docker的官方GPG密钥时,我收到以下错误:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
gpg: invalid key resource URL '/tmp/apt-key-gpghome.Rcg4Lpatvi/home:manuelschneid3r.asc.gpg'
gpg: keyblock resource '(null)': General error
gpg: key 1488EB46E192A257: 1 signature not checked due to a missing key
gpg: key 3B4FE6ACC0B21F32: 3 signatures not checked due to missing keys
gpg: key D94AA3F0EFE21092: 3 signatures not checked due to missing keys
gpg: key 871920D1991BC93C: 1 signature not checked due to a missing key
gpg: Total number processed: 9
gpg: skipped new keys: 9
我该如何解决这个问题?
答案1
答案2
安装 MongoDB 时出现此错误。以下方法对我有用。
sudo rm /etc/apt/trusted.gpg.d/home:manuelschneid3r.gpg
答案3
请注意,此答案是本文。
-- 对于过期的密钥,你能做的不多,只能获取一个新的有效密钥。这似乎很容易,但仍有一些注意事项。
请注意,过去曾分发过多个密钥:全局密钥和每个分发密钥。过去推荐的代码片段也将密钥放在不同的位置(/etc/apt/trusted.gpg 和 /etc/apt/trusted.gpg.d/[…])。
本教程将尝试修复所有可能的问题并使 apt 重新运行。
1. 嵌入按键/etc/apt/trusted.gpg
使用apt-key del <id>
删除密钥。使用 查找 repo home:manuelschneid3r 的 id apt-key list
。
# apt-key list
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
--------------------
pub rsa2048 2017-10-27 [SC] [expired: 2022-03-05]
A4B8 3CD0 5FDF 5C51 7848 2D4A 1488 BLAA E192 A257
uid [ expired] home:manuelschneid3r OBS Project <home:[email protected]>
[…]
# apt-key del "A4B8 3CD0 5FDF 5C51 7848 2D4A 1488 BLAA E192 A257"
2. 输入/etc/apt/trusted.gpg.d/
删除 中与 Albert 相关的所有键/etc/apt/trusted.gpg.d/
。请注意,根据您用于安装 albert 的代码片段,这些键可能具有模糊的名称。如果您在 OBS 的官方软件中心使用代码片段,则文件很可能具有名称home_manuelschneid3r.gpg
。
rm /etc/apt/trusted.gpg.d/home_manuelschneid3r.gpg
3. 来源列表
apt
现在将拒绝处理错误
由于公钥不可用,无法验证以下签名:NO_PUBKEY…
如果您想保留 albert,您可以立即获取新密钥。这正是您最初安装 albert 时所做的。请访问OBS软件中心用于代码片段。
如果您不再需要 albert,请从您的源中删除存储库,方法是删除中的相关行/etc/apt/sources.list
或文件/etc/apt/sources.list.d/home:manuelschneid3r.list
,具体取决于您安装 albert 的方式。
您已完成。祝您使用 albert 愉快
答案4
我遇到了同样的问题。就我而言,在同一个目录 /etc/apt/trusted.gpg.d 中,我有一个 .asc 文件,只是名称不同。一旦我通过更改其扩展名重命名 .asc 文件,我就可以添加 Docker 的 gpg 密钥。