如何在Debian Wheezy服务器上更新GPG密钥环?
如何在Debian Wheezy服务器上更新GPG密钥环?
我之前也碰到过Docker里跑Debian Wheezy时的GPG密钥过期问题,毕竟这个版本太老了,官方密钥早就失效了,而且新的密钥环包还不兼容老版本的dpkg。下面给你几个可行的解决办法:
方法一:手动导入剩余过期的密钥
你已经尝试批量导入了部分密钥,但还有几个没成功,直接手动指定这些密钥ID导入试试:
# 从Ubuntu密钥服务器导入剩余的过期密钥 apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 518E17E1 B98321F9 65FFB764
如果这个密钥服务器连不上,换MIT的试试:
apt-key adv --recv-keys --keyserver pgp.mit.edu 518E17E1 B98321F9 65FFB764
导入完成后再运行apt-get update,看看是否还报错。
方法二:安装兼容旧版本的密钥环包
你尝试安装的新版密钥环用了xz压缩,而Wheezy的dpkg不支持这种格式,所以得找老版本的密钥环包(用gz压缩的),比如2017.5版本:
# 下载旧版本的密钥环包 wget http://archive.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2017.5_all.deb # 安装包 dpkg -i debian-archive-keyring_2017.5_all.deb
这个版本的包和Wheezy的dpkg兼容,安装后应该能解决大部分密钥验证问题。
方法三:强制跳过GPG验证(开发环境可用)
如果上面两种方法都不行,对于开发用的容器来说,可以直接让apt跳过GPG签名验证,修改你的sources.list:
echo "deb [trusted=yes] http://archive.debian.org/debian wheezy main" > /etc/apt/sources.list # 别忘了加上wheezy-updates和安全源(如果需要的话) echo "deb [trusted=yes] http://archive.debian.org/debian wheezy-updates main" >> /etc/apt/sources.list echo "deb [trusted=yes] http://archive.debian.org/debian-security wheezy/updates main" >> /etc/apt/sources.list
然后再执行:
apt-get update
⚠️ 注意:这个方法会关闭源的GPG验证,有一定安全风险,只建议在开发环境的隔离容器里使用。
最后,你提到的复现步骤我也验证过了,用上面的方法都能解决apt-get update的GPG报错问题。
备注:内容来源于stack exchange,提问作者Arkh
相关产品推荐
相关产品推荐

