解决linux更新apt软件源时报出GPG错误

本文介绍了解决树莓派在更换软件源时遇到的GPG错误的方法。通过补充缺失的公钥,使用特定命令修复了apt在更新过程中出现的加密验证问题。

今天给树莓派换源,爆出N个这错误:
W: GPG error: http://mirrors.neusoft.edu.cn/raspbian/raspbian wheezy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9165938D90FDDD2E
经过多番查找资料,解决了问题,记录下解决过程.

介绍:

GPG是啥:

这玩意又叫GnuPG,是一个加密/解密相关的工具,据说是模仿PGP开发的(PGP另一个加密工具,收费的)

apt为何用到GPG:

apt在下载包的时候会加密,而GPG在其中提供加密,解密相关的支持

解决问题:

从上面的提示可看出,似乎缺少了某Pubkey,所以要把它补上,使用如下命令:

gpg --keyserver 服务器 --recv-keys 提示语句最后的那串玩意儿 && apt-key add /root/.gnupg/pubring.gpg
#例子:
gpg --keyserver keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E && apt-key add /root/.gnupg/pubring.gpg

命令执行后,再次apt update,发现之前的GPG错误没了.问题解决~

国内可用key server列表:

keyserver.ubuntu.com
pgp.mit.edu
subkeys.pgp.net
www.gpg-keyserver.de

参考资料(里面有更详细的内容):

http://blog.chinaunix.net/uid-20420254-id-2890214.html
http://www.ruanyifeng.com/blog/2013/07/gpg.html
http://zqscm.qiniucdn.com/data/20070530161730/index.html

转载于:https://www.cnblogs.com/DragonStart/p/8146272.html

在使用阿里云镜像源更新 Debian 12 系统时,可能会遇到 GPG 错误,例如提示 `NO_PUBKEY` 或 `BADSIG`。这类问题通常是由缺少镜像源的 GPG 公钥或本地 APT 缓存中的密钥环损坏导致的。以下是解决该问题的详细方法: ### 1. 安装 `debian-archive-keyring` 包 Debian 系统依赖 `debian-archive-keyring` 提供官方仓库的 GPG 密钥。如果使用的是阿里云镜像源,但未正确导入其信任的密钥,则会导致 GPG 错误。可通过以下命令重新安装该包以恢复密钥: ```bash apt install --reinstall debian-archive-keyring ``` ### 2. 手动添加阿里云镜像源的 GPG 公钥 如果 GPG 错误提示缺少特定的公钥(如 `NO_PUBKEY ABCDEF1234567890`),可使用 `apt-key` 命令从密钥服务器获取并添加: ```bash apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABCDEF1234567890 ``` 替换 `ABCDEF1234567890` 为实际提示的缺失密钥 ID。该操作将从公共密钥服务器下载所需密钥并添加到 APT 的信任密钥库中。 ### 3. 清理 APT 缓存并更新源列表 APT 缓存损坏也可能导致 GPG 验证失败。可通过以下命令清除缓存并重新加载软件源列表: ```bash apt clean apt update ``` ### 4. 检查 `/etc/apt/sources.list` 和镜像配置 确保 `/etc/apt/sources.list` 中的镜像地址正确指向阿里云的 Debian 镜像地址。对于 Debian 12(代号 `bookworm`),应使用如下格式的源地址[^1]: ``` deb http://mirrors.aliyun.com/debian/ bookworm main non-free contrib deb http://mirrors.aliyun.com/debian/ bookworm-updates main non-free contrib deb http://mirrors.aliyun.com/debian/ bookworm-backports main non-free contrib deb http://mirrors.aliyun.com/debian-security bookworm-security main ``` ### 5. 使用 HTTPS 镜像源(可选) 某些情况下,HTTP 协议可能因网络策略导致密钥获取失败。建议使用 HTTPS 协议访问镜像源以提高安全性与兼容性: ``` deb https://mirrors.aliyun.com/debian/ bookworm main non-free contrib ``` ### 6. 更新软件包列表并验证 完成上述步骤后,再次运行以下命令以验证是否已解决 GPG 错误: ```bash apt update ``` 如果一切正常,将不再GPG 验证错误,且软件包列表将成功更新。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值