Ubuntu更新源列表时NO_PUBKEY(找不到公钥)问题的解决方法

  在使用Ubuntu的过程中,有时我们会因为想试一下一些新奇的东东,于是我们可能会修改软件源的配置文件(/etc/apt/sources.list)。修改完成之后当然要“update”一下,但在“update”完成之后却发现出现了“GPG签名验证错误:××××,由于没有公钥,下列签名无法进行验证: NO_PUBKEY ×××××”的问题,如下图:

NoPubkey

  此时要如何解决呢?其实Ubuntu社区为我们提供了解决方案,在“http://keyserver.ubuntu.com/”里一般都可以找到我们所需要的公钥(PUBKEY)。当然,不是说直接访问这个网页去搜索下载再导入,而是通过终端来实现。下面是解决方法:

$ gpg --keyserver keyserver.ubuntu.com --recv 21C022AA985E0E11
# 后面的字符串是NO_PUBKEY后的提供字符
$ gpg --export --armor 21C022AA985E0E11 | sudo apt-key add -
# 注意命令最后面还有一个“-”,千万不要忘记了它!

  通过运行这两个简单的终端命令之后,我们已经把公钥(PUBKEY)成功的导入了(如果失败了,会出现提示的,本文就不多加说明了)。现在再来“update”一下,是不是就没问题了呢?