最近换了源,准备apt-get update的时候,出现了一点小插曲,GPG签名验证错误
W: GPG 错误:http://mirrors.163.com precise-proposed Release: 下列签名无效: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
上网搜索了一把,尝试了好多办法,都没搞定(和最终的解决方案均比较类似),方案来自 http://forum.ubuntu.org.cn/viewtopic.php?f=52&t=245218
最后,按照自己的想法来了一遍,结果搞定了。注意,下文中密钥用XXXXXXX来代替。
1、先删除原有的(因为我原来导入了错误的)
gpg --delete-key --armor XXXXXXXXXX
sudo apt-key del XXXXXXXXXXX
2、重新导入密钥
gpg --keyserver-options http-proxy --keyserver keyserver.ubuntu.com --recv XXXXXXXXXXXX
gpg --export --armor XXXXXXXXXXXXXXX | sudo apt-key add -
注意:这里我用 keyserver.ubuntu.com 服务器地址,是因为大部分网友给的解决方案中的那个地址,均显示host not found !
3、清除缓存(为了保险起见,借鉴一位网友的做法)
sudo apt-get clean
cd /var/lib/apt
sudo rm -rf lists.old
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update
4、如果有其他签名错误,则采用相同办法,对于PPA源错误,则采用如下办法:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXXX
待解决:
http://security.ubuntu.com 源有:Hash 校验和不符的问题,只能靠禁用重要安全更新来解决,求更好的解决办法……
网上有童鞋说,是因为谷歌被墙了的原因,连接不上服务器没法验证。…… 我也不是很清楚……