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

cmc*_*nty 131 apt gnupg

我经常遇到这个问题,总是不得不谷歌寻找答案。有没有人有永久修复 BADSIG 错误的方法apt-get

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

Sri*_*udi 132

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

在终端中键入以下命令:

$ sudo -i
# apt-get clean
# cd /var/lib/apt
# mv lists lists.old
# mkdir -p lists/partial
# apt-get clean
# apt-get update
Run Code Online (Sandbox Code Playgroud)

积分: ubuntugeek.com

编辑:

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

  • 这解决了我更常见的错误——通过与代理(需要网络登录的 WiFi“咖啡馆”)的 Internet 连接进行更新,如果我在更新期间注销或忘记登录,它会损坏我的一些列表。 (10认同)
  • 我希望 OP 将此作为答案! (5认同)
  • 如果 qbi 的答案没有帮助,但实际的错误是什么? (3认同)

qbi*_*qbi 67

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

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

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

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 54422A4B98AB5139
Run Code Online (Sandbox Code Playgroud)

即使用SHIFT+INS您复制的数字粘贴 - 54422A4B98AB5139

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

  • 这实际上对任何人都有效吗? (21认同)
  • 我相信在有人试图做一些令人讨厌的事情(例如中间人攻击)的情况下,这可能非常危险。**不要只是从错误消息中添加键。只添加您信任的密钥。** (18认同)
  • BADSIG 与 NO_PUBKEY 不同。对于 BADSIG,下面的答案解决了它。我不确定我是如何在这种情况下结束的,但即使在导入密钥后,我在 5 个不同的 PPA 上也有 BADSIG。 (6认同)
  • +1 因为知道怎么做是一件非常有用的事情。但是,它并没有解决我的问题。 (4认同)
  • 我的错误与错误的回购有关,而不仅仅是缺少密钥……但是您的答案可能对 99% 的情况有效 (3认同)

Por*_*jim 31

尝试删除密钥

sudo apt-key del 16126D3A3E5C1192
Run Code Online (Sandbox Code Playgroud)

然后更新存储库

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

你应该得到一个NO_PUBKEY错误而不是一个BADSIG错误

sudo apt-key finger
Run Code Online (Sandbox Code Playgroud)

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

现在添加密钥

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 16126D3A3E5C1192
Run Code Online (Sandbox Code Playgroud)

结果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>
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,请尝试

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
Run Code Online (Sandbox Code Playgroud)

来源:这个ubuntu 论坛帖子


Ash*_*shu 12

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

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

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

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