APT-GET更新GPG签名错误解决

09/30/2012

最近将Ubuntu更新至12.04.1后陆续出现了一些问题,如lo-menubar软件包变成了孤儿包等,昨天遇到了apt-get无法更新的大问题。

问题主要表现是在通过系统更新管理器、新立得(Synaptic)软件包管理器或者运行

命令更新软件库时会出现除主要源以外的PPA全部GPG错误签名无效的情况。在终端中返回的信息如下:

Google之后大约了解了问题的原因,Debian及其衍生Linux发行版是用APT管理软件包,apt-get使用GPG签名以验证软件源是否可信,当出现这种GPG错误时,可能有以下几种情况:

  1. 人为的操作造成的,如更新系统(之前刚更新到Ubuntu 12.04.1)或添加PPA;
  2. 无缘无故出现问题,如软件源服务器被黑造成了签名被篡改、文件被替换(之前就发生过SourceForge镜像被黑造成phpMyAdmin被植入后门的情况)或与服务器的中间传输被某些人重置(如DNS被污染);
  3. 储存APT数据和GPG签名的目录/var/lib/apt/损坏(这种情况一般会同时伴有其他严重问题)。

阅读更多