如果大家在使用sudo apt update时出现以下错误:

:~$ sudo apt update
[sudo] ts 的密码: 
命中:1 http://archive.ubuntu.com/ubuntu impish InRelease
获取:2 http://cn.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
错误:2 http://cn.archive.ubuntu.com/ubuntu bionic-updates InRelease
  由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
命中:3 http://archive.ubuntu.com/ubuntu impish-updates InRelease
命中:4 http://archive.ubuntu.com/ubuntu impish-backports InRelease
命中:5 http://archive.ubuntu.com/ubuntu impish-security InRelease
已下载 88.7 kB,耗时 14秒 (6,354 B/s)
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
有 1157 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。GPG 错误:http://cn.archive.ubuntu.com/ubuntu bionic-updates InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
W: 无法下载 http://cn.archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease  由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。

输入以下命令:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 公钥

公钥就是:3B4FE6ACC0B21F32(实际看自己的是什么)

如果有多个公钥需要导入只需在命令后加个空格再输入就好了如:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 公钥 公钥 公钥

执行后公钥就被导入了,再使用sudo apt update就没问题了

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.F2UTq1fH71/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
gpg: 密钥 3B4FE6ACC0B21F32:公钥 “Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>” 已导入
gpg: 处理的总数:1
gpg:               已导入:1

 参考:apt-get update 由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32_longtype的博客-CSDN博客

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐