树莓派解决换源时出现"由于没有公钥,无法验证下列签名"
换源原因:默认源速度太慢,想换成清华大学开源软件镜像站的源
方法
参考Raspbian 镜像使用帮助 | 清华大学开源软件镜像站 (点此查看)
接着使用sudo apt-get update命令更新软件源列表并做检查。
问题
只按照这个方法后运行sudo apt-get update
root@pi:~ $ sudo apt-get update
获取:1 http://....../raspbian bullseye InRelease [15.0 kB]
获取:2 http://....../raspberrypi bullseye InRelease [23.7 kB]
错误:1 http://....../raspbian bullseye InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY XXXXXXXXXXXXXXXX
正在读取软件包列表... 完成
W: GPG 错误:http://mirrors......raspbian bullseye InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY XXXXXXXXXXXXXXXX
E: 仓库 “http://....../raspbian bullseye InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
......
root@pi:~ $

出现"由于没有公钥,无法验证下列签名"
原因分析:
没有导入公钥
解决方案:
运行
gpg --keyserver keyserver.ubuntu.com --recv-keys [提示的公钥]
和
gpg --export --armor [提示的公钥] | sudo apt-key add -
即可解决

最后不要忘了sudo apt-get update

本文介绍了在树莓派上因默认源速度慢而更换为清华大学开源软件镜像站的源时遇到的公钥验证错误。在执行`sudo apt-get update`后,系统显示由于缺少公钥导致签名验证失败。问题的原因是未导入新的源的公钥。解决方案是通过运行`gpg --keyserver keyserver.ubuntu.com --recv-keys [提示的公钥]`和`gpg --export --armor [提示的公钥]|sudo apt-key add -`来导入公钥,从而解决验证问题。最后再次运行`sudo apt-get update`以确保更新成功。
2392





