W:GPG错误:http://ppa.launchpad.net exact发布:无法validation以下签名,因为公钥不可用:

当我做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 

我仍然得到相同的错误或获得更新。 我可以尝试其他任何可能的解决方案

这个链接中提到的第二种方法对我有用。 手动下载密钥并添加它。 希望能帮助别人。


上面的链接提供了截图的详细说明。 它还有一些其他简单的方法可以在手动执行之前尝试。 由于某些地区无法访问,因此让我描述一下对我有用的方法: 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”的回复。

你完成了。 重复可能缺少的其他键的过程。

这是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