Ubuntu 22.0.4更新时出现NO_PUBKEY签名验证错误求助
嗨,我看到你在更新Ubuntu 22.04的时候碰到了签名验证失败的问题,这种情况在使用APT更新时挺常见的,别担心,咱们一步步来解决它!
先把你遇到的错误信息贴出来,方便确认问题:
An error occurred during the signature verification.
The repository is not updated and the previous index files will be used.
GPG error: http://security.ubuntu.com/ubuntu xenial-security InRelease:
The following signatures couldn't be verified because the public key is not available:
NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
问题的根源是你的系统缺少了Ubuntu安全源对应的签名公钥,导致APT无法验证源的合法性,所以才会抛出这个错误。下面是具体的解决步骤:
导入缺失的公钥
打开终端,直接运行这条命令,一次性导入两个缺失的公钥:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32执行时需要输入你的用户密码,输入后回车即可(终端输入密码时不会显示字符,正常输入就行)。
重新执行更新命令
公钥导入完成后,再运行更新命令,看看错误是否消失:sudo apt update
如果上面的命令因为apt-key被弃用而报错(新版本Ubuntu可能会有这个提示),可以试试更现代的方式:
- 先接收公钥:
gpg --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32 - 然后将公钥导出到系统信任的密钥目录:
gpg --export 40976EAF437D05B5 | sudo tee /usr/share/keyrings/ubuntu-security-xenial.gpg > /dev/null gpg --export 3B4FE6ACC0B21F32 | sudo tee -a /usr/share/keyrings/ubuntu-security-xenial.gpg > /dev/null - 最后再执行
sudo apt update即可。
一般来说,按照上面的步骤操作后,签名验证的错误就会解决,你可以正常更新系统了。
备注:内容来源于stack exchange,提问作者sree

