警告:无法验证以下包。`apt-key update` 不起作用

kra*_*r65 31 apt

我正在尝试通过简单地执行来安装 bitcoind sudo apt-get install bitcoind,但是我收到此错误消息,指出以下软件包无法通过身份验证:

libdb5.1++ libcrypto++9 bitcoind
Run Code Online (Sandbox Code Playgroud)

我可以简单地安装它们而无需对其进行身份验证,但是由于该程序可能会处理金钱,因此我希望它们是正确的。所以我在 AskUbuntu 上找到了这个解决方案,它建议执行以下操作:

$ sudo apt-key update
$ sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

在第一个命令之后,它列出了四个键,它说它们都保持不变。第二个命令只是执行通常的操作,但它以一条消息结束,指出存在 GPG 错误。在一些blabla之后,它然后说以下签名无效(从荷兰语自由翻译):

BADSIG 16126D3A3E5C1192 Ubuntu Extras Archive Automatic Signing Key <ftpmaster@ubuntu.com>
BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
Run Code Online (Sandbox Code Playgroud)

并且无法验证以下签名,因为公钥不可用:

NO_PUBKEY 1F968B3903D886E7
Run Code Online (Sandbox Code Playgroud)

并且以下签名无效:

BADSIG E585066A30C18A2B Opera Software Archive Automatic Signing Key 2013 <packager@opera.com>
Run Code Online (Sandbox Code Playgroud)

从以下地址获取东西失败了:

 http://extras.ubuntu.com/ubuntu/dists/precise/Release
Run Code Online (Sandbox Code Playgroud)

有谁知道我能做些什么来解决这个问题?

Nic*_*Tux 22

您必须手动添加 pub 密钥。

命令是

sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com «key number»
Run Code Online (Sandbox Code Playgroud)

其中 «key number» 你必须用丢失的键替换它。

例如,在此错误中,您收到

NO_PUBKEY 1F968B3903D886E7
Run Code Online (Sandbox Code Playgroud)

你可以做

sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com 1F968B3903D886E7
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

这样你就可以从密钥服务器 (keyserver.ubuntu.com) 下载你的密钥环中的这个密钥

关于 BADSIG 错误,请在此处查看此答案