解决apt-get BADSIG GPG错误的最简单方法是什么?


129

我经常遇到这个问题,并且总是必须通过Google寻求答案。有人可以永久修复BADSIG错误apt-get吗?

W:GPG错误:http : //download.virtualbox.org lucid版本:以下签名无效:BADSIG 54422A4B98AB5139 Oracle Corporation(VirtualBox存档签名密钥)


您在使用apt-cacher-ng吗?
lfaraone 2010年

4
重要的是要了解APT上的GPG签名是什么,GPG签名会验证存储库包含从受信任来源提供的软件包。它确保完整性和真实性。每次您从某个提供商处添加新存储库时,都需要添加它的GPG密钥。
若奥·平托

遵循链接中的示例-用问题中的BADSIG代码替换链接的答案中的示例代码。
fossfreedom

fossfreedom,我无法在该系统上使用该解决方案。继续获取“ --keyserver”不被理解。下面的Ubuntu博士提供的解决方案为我工作。
德克

在这里也可以看看askubuntu.com/questions/67594/…我认为您使用的命令是正确的,只是您没有使用正确的密钥。
布鲁诺·佩雷拉

Answers:


130

这是(最简单的)解决方案:

在终端中键入以下命令:

$ sudo -i
# apt-get clean
# cd /var/lib/apt
# mv lists lists.old
# mkdir -p lists/partial
# apt-get clean
# apt-get update

积分:ubuntugeek.com

编辑:

如果错误再次发生(也许是几天/几个月后),请以root身份打开Nautilus>导航到var/lib/apt>删除“ lists.old”文件夹>然后打开“ lists”文件夹并删除“ partial”文件夹。现在,再次执行上述命令。


10
这为我解决了更常见的错误-通过与代理服务器(需要Web登录的WiFi“ cafe”)的Internet连接进行更新,如果我注销或忘记在更新过程中登录,该代理服务器会破坏我的某些列表。
滚刀2012年

3
如果qbi的答案无济于事,那么实际的错误是什么?
ArtOfCode

这也发生在我身上,原因是:需要网络登录的WiFi“ cafe”
Postadelmaga 2012年

5
我希望OP会以此作为答案!
HDave

@ArtOfCode:错误完全相同。这个答案对我有所帮助,但是在Web上您只能找到qbi指出的方法,并且可以在Web上的任何地方找到它。
0xC0000022L

65

错误消息的重要部分是以下粗体字

W:GPG错误:http : //download.virtualbox.org lucid版本:以下签名无效:BADSIG 54422A4B98AB5139 Oracle Corporation(VirtualBox存档签名密钥)

将内容复制为粗体,然后打开终端并键入:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 54422A4B98AB5139

即使用SHIFT+ INS复制的号码粘贴-54422A4B98AB5139

您必须输入密码,密钥将被下载并集成。


3
我的错误与错误的回购相关,而不仅仅是遗失了键...但是,您的答案可能对99%的情况都有效
cmcginty 2010年

4
+1是因为知道如何做非常有用。但是,它不能解决我的问题。
卡扎尔克

21
这实际上对任何人有用吗?
杰德(Jjed)2012年

6
BADSIG与NO_PUBKEY不同。对于BADSIG,以下答案已解决。我不确定在这种情况下最终会如何,但是即使在导入密钥之后,我还是在5种不同的PPA上使用了BADSIG。
mfisch

17
我认为,在有人尝试做一些令人讨厌的事情(例如中级攻击者)的情况下,这可能非常危险。不要只是从错误消息中添加密钥。仅添加您信任的密钥。
gertvdijk

27

尝试删除密钥

sudo apt-key del 16126D3A3E5C1192

然后更新存储库

sudo apt-get update

您应该得到一个NO_PUBKEY错误而不是BADSIG错误,并且

sudo apt-key finger

应该没有找到问题的关键(所谓的“Ubuntu的额外归档自动签名密钥”)

现在添加密钥

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 16126D3A3E5C1192

的结果apt-key finger应该有

pub   1024D/3E5C1192 2010-09-20
      Key fingerprint = C474 15DF F48C 0964 5B78  6094 1612 6D3A 3E5C 1192
uid                  Ubuntu Extras Archive Automatic Signing Key <ftpmaster@ubuntu.com>

如果这样不起作用,请尝试

apt-get clean            # Remove cached packages
cd /var/lib/apt
mv lists lists.old       # Backup mirror info
mkdir -p lists/partial   # Recreate directory structure
apt-get clean
apt-get update           # Fetch mirror info

来源:这个 ubuntu论坛主题


我遇到了多个BADSIG错误,甚至包括标准的Ubuntu存档。当我删除VirtualBox密钥时,所有这些错误突然变成了NO_PUBKEY。然后,当我添加VirtualBox键时,所有其他存储库的错误都消失了。因此,事实证明,一个错误的密钥为许多其他无关的存储库产生了错误。
Mateusz Stachowski

11

解决BADSIG GPG错误的另一种简便方法是通过一个名为 Y PPA manager

sudo add-apt-repository ppa:webupd8team / y-ppa-manager
sudo apt-get更新
sudo apt-get安装y-ppa-manager

点击 Advanced
在此处输入图片说明

然后选择 Fix all GPG Badsig errors
在此处输入图片说明


3

如果添加密钥后仍然出现此错误,请尝试:

  1. 转到您的apt-cacher-ng缓存目录,然后删除virtualbox条目:

    cd /var/cache/apt-cacher-ng
    sudo rm -rf download.virtualbox.org
    

2

找到了另一个我们可以使用的服务器:

gpg --keyserver hkp://subkeys.pgp.net --recv-keys [YOURKEYINQUESTION]
gpg --armor --export [YOURKEYINQUESTION] | sudo apt-key add -
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.