Zookeeper发行版GPG错误:公钥过时及密钥ID不匹配求助
解决Zookeeper发行版GPG公钥过时问题(密钥ID从B5E9BD2D到68E327C1)
这种密钥不匹配的问题很常见,一般是因为包维护方更新了签名密钥导致的。我给你整理了一套一步步解决的方案:
步骤1:导入新的公钥68E327C1
先把系统要求的新密钥导入本地GPG密钥环,打开终端执行这条命令:
gpg --keyserver keyserver.ubuntu.com --recv-keys 68E327C1
要是这个密钥服务器连不上,换个备选的试试:
gpg --keyserver hkp://pgp.mit.edu --recv-keys 68E327C1
步骤2:将密钥添加到系统信任库
导入后得把这个密钥同步到系统的包管理信任体系里。如果是Debian/Ubuntu这类用APT的系统,执行:
gpg --export 68E327C1 | sudo apt-key add -
注意:要是你的系统提示apt-key已过时(比如Ubuntu 22.04及以上版本),用更安全的方式把密钥放到指定目录:
gpg --export 68E327C1 | sudo gpg --dearmor -o /usr/share/keyrings/zookeeper-archive-keyring.gpg
之后还要修改Zookeeper的源配置文件(一般在/etc/apt/sources.list.d/zookeeper.list),把签名路径指向新密钥文件,比如:
deb [signed-by=/usr/share/keyrings/zookeeper-archive-keyring.gpg] http://archive.apache.org/dist/zookeeper/ 你的系统版本代号 main
步骤3:更新缓存并重试操作
最后更新本地包缓存,再重新安装或更新Zookeeper:
sudo apt update
这时候再操作应该就不会弹出GPG密钥错误了。
可选:清理旧密钥(避免混淆)
如果旧密钥B5E9BD2D已经没用了,可以删掉它:
sudo apt-key del B5E9BD2D
要是用了新的密钥文件方式,直接删除旧密钥文件就行:
sudo rm /usr/share/keyrings/旧密钥文件名.gpg
内容的提问来源于stack exchange,提问作者J. Doe
相关产品推荐
相关产品推荐

