W:GPG 错误:http://ppa.launchpad.net 精确发布:由于公钥不可用,无法验证以下签名:

W:GPG 错误:http://ppa.launchpad.net 精确发布:由于公钥不可用,无法验证以下签名:

当我这样做时出现以下错误sudo apt-get update

W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6AF0E940624A220

在阅读了这里的各种问题并通过谷歌搜索后,我尝试了以下方法。

我试过

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6AF0E1940624A220

这没用。我也试过了

sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys

认为端口 11371(默认)可能由于防火墙而被阻止。

我也尝试过如下重置所有内容

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update && sudo apt-get upgrade

我仍然收到相同的错误或获取更新。我可以尝试其他可能的解决方案吗?

答案1

本文提到的第二种方法关联对我有用。手动下载密钥并添加。希望这对其他人也有帮助。


关联上面提供了详细的解释和截图。它还有一些其他简单的方法,可以在手动执行之前尝试。由于某些地区无法访问,让我描述一下对我有用的方法:YouTube

  1. 前往OpenPGP 公钥服务器。您可以在字段中输入密钥Search String,其他内容保持不变,然后单击“搜索!”。
    搜索密钥时,始终添加0x到它前面! 这意味着,例如,您必须搜索0x6AF0E1940624A220而不是6AF0E1940624A220
  2. 单击部分中提供的链接pub。这将带您进入包含密钥的页面。页面标题应类似于Public Key Server -- Get "0x6AF0E1940624A220"
  3. 复制标题下方的所有内容(从 开始-----BEGIN PGP PUBLIC KEY BLOCK-----)并将其保存在文件中(例如key1)。
  4. 获得文件后,运行以下命令

    sudo apt-key add key1
    

您将会收到“OK”的回复。

您已完成。对可能丢失的其他键重复此过程。

答案2

这是 Aniket 答案的简化版本:

for fingerprint in 40976EAF437D05B5 3B4FE6ACC0B21F32; do
  curl "http://keyserver.ubuntu.com/pks/lookup?op=get&fingerprint=on&search=0x$fingerprint" | \
    awk '/-----BEGIN PGP/{p=1} /-----END PGP/{print; p=0} p==1{print}' > key.txt;
  sudo apt-key add key.txt;
done

在第一行上输入您需要的任意数量的键。

我添加了多余的分号,这样您就可以将其变成一行放入 中Dockerfile。我不知道为什么以前有效的容器构建现在需要这样做。在此修复之前我遇到了此错误:

W: GPG error: http://deb.nodesource.com trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1655A0AB68576280
W: GPG error: http://archive.ubuntu.com trusty-updates InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://archive.ubuntu.com trusty-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://security.ubuntu.com trusty-security InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://archive.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32

相关内容