apt update Ign and 404 Not Found

1. 环境及目标

环境:在Ubuntu 24.04.1 LTS系统上通过virt-manager启动了debian系统,网络为NAT,可以连通互联网


2. 问题描述及原因分析

执行命令

复制代码
apt update

输出如下信息:

复制代码
Ign:1 http://mirrors.ustc.edu.cn/debian buster InRelease
Err:2 http://mirrors.ustc.edu.cn/debian buster Release
  404  Not Found [IP: 218.104.71.170 80]
Reading package lists... Done
E: The repository 'http://mirrors.ustc.edu.cn/debian buster Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

怀疑是网络问题,进行了ping测试,网络正常能ping通,网络没问题。

那只有可能是源的问题了,中途更换过其他源,也是不能正常工作。故怀疑签名可能过期,要在 apt update 时关闭验证:

复制代码
apt -o Acquire::Check-Valid-Until=false update

执行结果如下:

复制代码
Get:1 http://mirrors.ustc.edu.cn/debian bullseye InRelease [75.1 kB]
Get:2 http://mirrors.ustc.edu.cn/debian-security bullseye-security InRelease [27.2 kB]
Err:1 http://mirrors.ustc.edu.cn/debian bullseye InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 605C66F00D6C9793
Err:2 http://mirrors.ustc.edu.cn/debian-security bullseye-security InRelease   
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 54404762BBB6E853 NO_PUBKEY BDE6D2B9216EC7A8
Reading package lists... Done                                                  
W: GPG error: http://mirrors.ustc.edu.cn/debian bullseye InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D
386FA1D9 NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 605C66F00D6C9793
E: The repository 'http://mirrors.ustc.edu.cn/debian bullseye InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://mirrors.ustc.edu.cn/debian-security bullseye-security InRelease: The following signatures couldn't be verified because the public key is not available: 
NO_PUBKEY 54404762BBB6E853 NO_PUBKEY BDE6D2B9216EC7A8
E: The repository 'http://mirrors.ustc.edu.cn/debian-security bullseye-security InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

在错误很明确:缺少 Debian Bullseye 的签名公钥。APT 默认会校验 Release 文件签名,文件系统里面GPG key 太老了,Bullseye 的 key 不存在,所以报 NO_PUBKEY。

手动导入公钥:

复制代码
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 605C66F00D6C9793
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 54404762BBB6E853
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BDE6D2B9216EC7A8

3. 解决方案

手动导入公钥:

复制代码
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 605C66F00D6C9793
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 54404762BBB6E853
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BDE6D2B9216EC7A8
相关推荐
SelectDB20 分钟前
从 Machine-Readable 到 Agent-Ready:面向智能体的数据库接口演进
大数据·数据库·agent
画江湖Test26 分钟前
Redis 块的原理
数据库·redis·缓存·性能优化
流烟默29 分钟前
国产数据库CERDB是什么以及服务启停
数据库·cerdb
Xin_ye1008632 分钟前
C# 零基础到精通教程 - 第十八章:部署与发布——让应用上线
开发语言·c#
数据库小学妹1 小时前
关系型数据库核心原理拆解:SQL解析、事务引擎、存储结构全链路分析
数据库·经验分享·sql·数据库架构·dba
海市公约1 小时前
Redis主从复制全量同步七步时序与命令传播机制详解
数据库·redis·缓存·主从复制·高可用架构·全量同步
我是唐青枫1 小时前
Java JdbcTemplate 实战指南:用 Spring 轻量完成数据库增删改查
java·数据库·spring
思麟呀1 小时前
C++11并发编程:call_once一次性执行+atomic原子类型+CAS无锁编程+自旋锁
linux·开发语言·jvm·c++·windows
梓䈑1 小时前
【MySQL】MySQL安装 和 配置
数据库·mysql