在Debian系统中配置安全更新源时,许多用户常会遇到一个小麻烦——明明在sources.list里正确添加了源地址,执行apt-get update却提示GPG签名验证失败。别担心,这其实是一个相当常见的问题,解决方法也非常简单。
首先,将安全更新的源地址写入配置文件。例如,编辑/etc/apt/sources.list.d/official-package-repositories.list,添加以下一行:
deb https://security.debian.org/ wheezy/updates main contrib non-free
保存文件后,运行更新命令:
sudo apt-get update
这时你大概率会看到类似这样的错误信息:
正在读取软件包列表... 完成
W: GPG 错误:https://security.debian.org wheezy/updates InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 8B48AD6246925553
原因很简单——系统本地缺少对应的公钥,因而无法验证该源签名的合法性。解决办法是利用密钥管理工具将缺失的公钥下载到本地。请注意报错信息末尾的那串编号 8B48AD6246925553,这正是你需要导入的公钥ID。
执行以下命令即可:
sudo apt-key adv --recv-keys --keyserver keyserver.Ubuntu.com 8B48AD6246925553
命令执行完成后,再次运行 sudo apt-get update,此时应该不会再有GPG错误提示,一切恢复正常。
