2人参与 • 2026-03-20 • MsSqlserver
在执行 sudo apt-get update 命令时,终端出现一系列报错信息:
1、从 http://archive.ubuntu.com/ubuntu 相关多个仓库(如 xenial inrelease、xenial-security inrelease、xenial-updates inrelease、xenial-proposed inrelease、xenial-backports inrelease)更新时,均报错 err,错误详情为:
the following signatures couldn't be verified because the public key is not available: no_pubkey 40976eaf437d05b5 no_pubkey 3b4fe6acc0b21f32。
同时还提示
e: the repository '具体仓库名(如 http://archive.ubuntu.com/ubuntu xenial inrelease)' is not signed.
以及
n: updating from such a repository can't be done securely, and is therefore disabled by default.
表明这些仓库由于签名无法验证且未签名,默认禁止更新。
2、对于 https://mirrors.aliyun.com/docker-ce/linux/ubuntu/dists/jammy/inrelease 仓库,提示
w: https://mirrors.aliyun.com/docker-ce/linux/ubuntu/dists/jammy/inrelease: key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the deprecation section in apt-key(8) for details.
显示其密钥存储在旧的 trusted.gpg 密钥环,虽此为提示信息,但也涉及密钥相关问题。
http://archive.ubuntu.com/ubuntu 系列仓库软件包列表签名,安全机制下,apt 禁止从这些仓库更新。https://mirrors.aliyun.com/docker-ce/linux/ubuntu 仓库密钥存储方式旧,暂不影响核心更新报错,但也是潜在隐患需留意。打开终端,执行以下命令:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976eaf437d05b5 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3b4fe6acc0b21f32
目的:从 `keyserver.ubuntu.com` 服务器获取并添加缺失公钥,解决签名验证基础问题。
注意:确保网络连接正常以便顺利获取公钥,若执行报错,检查网络设置或服务器是否可达。
查看 /etc/apt/sources.list 以及 /etc/apt/sources.list.d/ 目录下文件:
cat 或 less 命令查看,如 cat /etc/apt/sources.list,检查仓库地址是否准确,有无拼写错误或过时配置。http://archive.ubuntu.com/ubuntu 及相关报错仓库配置行。若发现问题:
nano 或 vim),如 sudo nano /etc/apt/sources.list,修改完保存退出。完成上述解决办法步骤后,重新执行 sudo apt-get update 命令:
reading package lists... done 且无 err、w 类错误提示,说明问题解决,系统可正常更新软件包列表,后续能按需安装、升级软件。以上笔记详细记录 sudo apt-get update 报错处理全程,方便后续遇到类似问题快速查阅、解决。
这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论