sudo apt-get update报错及解决工作笔记

一、问题现象

在执行 sudo apt-get update 命令时,终端出现一系列报错信息:

  1. http://archive.ubuntu.com/ubuntu 相关多个仓库(如 xenial InReleasexenial-security InReleasexenial-updates InReleasexenial-proposed InReleasexenial-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 密钥环,虽此为提示信息,但也涉及密钥相关问题。

二、问题分析

  1. 签名验证失败:系统缺少对应公钥来验证 http://archive.ubuntu.com/ubuntu 系列仓库软件包列表签名,安全机制下,apt 禁止从这些仓库更新。
  2. 仓库未签名:相关报错仓库未恰当签名,不符安全更新要求致更新禁用。
  3. 密钥存储提示https://mirrors.aliyun.com/docker-ce/linux/ubuntu 仓库密钥存储方式旧,暂不影响核心更新报错,但也是潜在隐患需留意。

三、解决办法

  1. 添加缺失公钥
    • 打开终端,执行以下命令:
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` 服务器获取并添加缺失公钥,解决签名验证基础问题。
- 注意:确保网络连接正常以便顺利获取公钥,若执行报错,检查网络设置或服务器是否可达。
  1. 检查仓库配置(可选)
    • 查看 /etc/apt/sources.list 以及 /etc/apt/sources.list.d/ 目录下文件:
      • 使用 catless 命令查看,如 cat /etc/apt/sources.list,检查仓库地址是否准确,有无拼写错误或过时配置。
      • 重点关注涉及 http://archive.ubuntu.com/ubuntu 及相关报错仓库配置行。
    • 若发现问题:
      • 对于错误仓库地址,直接编辑修改,使用文本编辑器(如 nanovim),如 sudo nano /etc/apt/sources.list,修改完保存退出。
      • 对于不需要仓库,可删除对应配置行,同样用文本编辑器操作,注意备份原文件以防误操作。

四、后续操作

完成上述解决办法步骤后,重新执行 sudo apt-get update 命令:

  1. 若更新过程顺利,无报错,显示 Reading package lists... Done 且无 ErrW 类错误提示,说明问题解决,系统可正常更新软件包列表,后续能按需安装、升级软件。
  2. 若仍有报错,仔细记录新错误信息,重复分析问题、寻找解决办法流程,可能需进一步排查系统软件源、网络环境或其他潜在因素。

以上笔记详细记录 sudo apt-get update 报错处理全程,方便后续遇到类似问题快速查阅、解决。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐