You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

APT更新时出现公钥错误(NO_PUBKEY F74046C316D8F9F5)如何解决?

解决APT更新时的NO_PUBKEY公钥验证错误

先来看你遇到的具体错误输出:

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 F74046C316D8F9F5
    

    keyserver.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

火山引擎 最新活动