我用软件源程序添加了一些额外的存储库。但当我重新加载软件包数据库时,我得到一个类似于以下的错误。
W: GPG错误:http://ppa.launchpad.net trusty InRelease。以下签名无法被验证,因为公钥不可用。no_pubkey 8baf9a6f
我知道根据Ubuntu官方文档,我可以在终端使用apt-key
来解决这个问题。但我希望能用图形化的方式来做。有什么办法不使用终端就能做到这一点吗?
在终端执行以下命令
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>
其中<PUBKEY>
是你丢失的版本库的公钥,例如8BAF9A6F
。
然后更新
sudo apt-get update
另一种方法:
sudo gpg --keyserver pgpkeys.mit.edu --recv-key <PUBKEY>
sudo gpg -a --export <PUBKEY> | sudo apt-key add -
sudo apt-get update
请注意,当你使用apt-key
导入这样的密钥时,你是在告诉系统,你相信你所导入的密钥能够签署你的系统将要使用的软件。不要这样做,除非你确信该密钥确实是软件包分发者的密钥。
一般来说,下面的方法应该适用于每个存储库。首先,在搜索引擎的帮助下,在程序提供者的网站上搜索一个文本,看起来像下面这样。
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.1 (GNU/Linux)
[...]
-----END PGP PUBLIC KEY BLOCK-----
例如,这样的文字显示在http://deb.opera.com。复制这段文字,将其粘贴在你在桌面上创建的一个空文件中。这就形成了关键文件。
然后继续导入钥匙。
你现在可以删除以前创建的密钥文件。