APT更新时出现公钥错误(NO_PUBKEY F74046C316D8F9F5)如何解决?
先来看你遇到的具体错误输出:
Hit:1 http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Hit:3 http://nyc2.mirrors.digitalocean.com/ubuntu xenial InRelease
Hit:4 http://nyc2.mirrors.digitalocean.com/ubuntu xenial-updates InRelease
Hit:6 http://nyc2.mirrors.digitalocean.com/ubuntu xenial-backports InRelease
Get:5 http://ag-projects.com/ubuntu xenial InRelease [7,109 B]
Err:5 http://ag-projects.com/ubuntu xenial InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F74046C316D8F9F5
Fetched 109 kB in 0s (181 kB/s)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated ...
这是很常见的软件源公钥未导入导致的验证失败,直接按以下步骤解决即可:
方法一:通过Ubuntu官方密钥服务器导入公钥
这是最通用的解决方案,操作简单:
执行以下命令,从官方密钥服务器获取并导入缺失的公钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F74046C316D8F9F5keyserver.ubuntu.com是Ubuntu官方维护的密钥服务器,基本能覆盖绝大多数公开软件源的公钥需求。导入完成后,重新运行更新命令验证问题是否解决:
sudo apt-get update
方法二:从软件源官方地址手动导入公钥
如果方法一中密钥服务器连接超时或无法获取公钥,可以直接从源的官方地址获取:
执行以下命令,下载并导入该源的公钥:
wget -qO - http://ag-projects.com/ubuntu/key.asc | sudo apt-key add -这条命令会直接从
ag-projects.com的Ubuntu源地址下载公钥文件,然后通过管道导入到系统密钥环中。完成后再次运行更新命令:
sudo apt-get update
额外提示
如果以上两种方法都无效,大概率是这个软件源已经停止维护了。这时你可以:
- 打开
/etc/apt/sources.list文件,或者查看/etc/apt/sources.list.d/目录下的.list文件,找到包含ag-projects.com的行,在行首添加#注释掉该源,后续更新就不会再触发这个错误了。
内容的提问来源于stack exchange,提问作者marvic




