sudo apt-get update
发布时什么原因导致此错误?
W: GPG error: http://download.virtualbox.org trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 54422A4B98AB5139
事件顺序:
安装 14.04(可信),从 安装 VirtualBoxUbuntu Software Centre
并发现它不起作用,使用 卸载 VirtualBox Ubuntu Software Centre
,virtualbox.org
使用链接中的 Debian 说明从 安装,问题apt-get update
。
编辑:有回复表明这个问题在某个链接上得到了回答。我阅读了链接上的答案。这个问题不同。在链接上我们可以看到如何解决错误。这个问题不同,因为它要求找到原因。它不要求解决方案。这是我对上面关于“最简单解决方法”的链接的回复。我会检查评论,并在必要时修改此编辑。
答案1
每当我们添加用于安装软件包的存储库时,我们也需要一个 apt 使用的 GPG 密钥来出于安全原因对包进行验证。
添加Launchpad 托管的 PPA此密钥将自动下载以供使用。所以我们不需要做任何额外的事情。
在添加外部存储库(例如 Virtual Box 的 Oracle 存储库)时,情况有所不同。然后我们必须手动下载并添加签名密钥。为此涉及以下步骤:
- 将存储库添加到我们的源中
- 下载 GPG 密钥
- 添加此密钥用于身份验证
- 更新我们的 apt 缓存
- 安装所需的软件包
有很多不同的方法可以实现这一点,从命令行或使用图形工具,我不会在这里进一步阐述。
要添加密钥,可以使用以下单行命令Virtual Box 下载页面对我来说一直很有效:
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
答案2
问题是,virtualbox 网站提供的命令建议使用根本不起作用的命令添加密钥,并且没有提供任何有关原因的错误。
单独运行命令(而不是以管道形式运行)显示似乎存在 DNS 问题wget
。这是我收到的错误:
user@computer:~$ wget https://www.virtualbox.org/download/oracle_vbox.asc
--2015-09-26 21:11:57-- https://www.virtualbox.org/download/oracle_vbox.asc
Resolving www.virtualbox.org (www.virtualbox.org)... failed: Temporary failure in name resolution.
wget: unable to resolve host address ‘www.virtualbox.org’
改用 aria2(无论如何,aria2 比 wget 更先进、更可靠,但这是另一个讨论)。
由于使用 时存在DNS问题wget
,因此我建议使用aria2
下载密钥。
第一的, 安装aria2
:
sudo apt-get install aria2
然后,运行以下命令添加密钥:
aria2c https://www.virtualbox.org/download/oracle_vbox.asc; sudo apt-key add oracle_vbox.asc; rm oracle_vbox.asc
最后,您应该能够顺利运行以下命令:
sudo apt-get update
以下是成功添加密钥后应看到的示例。最重要的是,它应该显示(OK):download completed.
和OK
分别在最后两行。
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
cff9ac|OK | 33KiB/s|/home/H2ONaCl/oracle_vbox.asc.1
Status Legend:
(OK):download completed.
OK
请发布任何错误。
答案3
可能是因为virtualbox.org 上的说明指示
sudo apt-key add oracle_vbox.asc
没有执行。
由于没有打算使用 HTTPS,因此跳过了该命令。VirtualBox 无需使用 即可成功安装apt-key add
。这可能是一种不太安全的安装方式。