Ubuntu 23.04升级至24.04 LTS时出现NO_PUBKEY 24A1004B1F11DCC9错误的原因及解决办法
Ubuntu 23.04升级至24.04 LTS时出现NO_PUBKEY 24A1004B1F11DCC9错误的原因及解决办法
嗨,我来帮你搞定这个升级时碰到的公钥问题~
错误原因
这个NO_PUBKEY 24A1004B1F11DCC9错误本质很简单:你的Ubuntu系统缺少对应软件源的验证公钥,APT在检查软件包签名合法性的时候过不了关,所以直接中断了升级流程。你之前尝试用的keyserver.quickbuild.pearsoncomputing.net可能网络连接不畅或者已经失效,才会弹出“gpg: keyserver receive failed: No data”的提示。
解决办法
试试下面这几种方法,总有一个能解决你的问题:
方法一:换通用密钥服务器获取公钥
换用Ubuntu官方常用的密钥服务器,比如keyserver.ubuntu.com,执行这条命令:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 24A1004B1F11DCC9如果这个服务器也连不上,还可以试试
hkps://keys.openpgp.org或者pgp.mit.edu,把命令里的keyserver地址替换掉就行。方法二:手动导出并添加公钥
如果直接从keyserver接收失败,可以分两步操作:- 先在本地获取公钥:
gpg --keyserver keyserver.ubuntu.com --recv-keys 24A1004B1F11DCC9 - 再把公钥导出并添加到APT信任列表:
gpg --export --armor 24A1004B1F11DCC9 | sudo apt-key add -
- 先在本地获取公钥:
方法三:使用现代密钥管理方式(推荐)
从Ubuntu 20.04开始,官方已经不推荐用apt-key了,建议把密钥放到/usr/share/keyrings/目录下:- 先获取公钥并保存到指定目录:
curl -fsSL https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x24A1004B1F11DCC9 | sudo gpg --dearmor -o /usr/share/keyrings/pearson-computing.gpg - 找到对应软件源的配置文件(一般在
/etc/apt/sources.list.d/目录下),修改源地址格式,加上signed-by参数,比如:deb [signed-by=/usr/share/keyrings/pearson-computing.gpg] http://quickbuild.pearsoncomputing.net/ubuntu lunar main
这里要注意把地址和发行版代号(23.04是
lunar)换成你实际使用的配置。- 先获取公钥并保存到指定目录:
完成后验证并升级
不管用哪种方法添加完公钥,先更新一下源列表,再尝试升级:
sudo apt update sudo do-release-upgrade
备注:内容来源于stack exchange,提问作者Pitor
相关产品推荐
相关产品推荐

