ubuntu 24.04+ 必须使用 deb822 格式的 /etc/apt/sources.list.d/ubuntu.sources 换源,而非旧版 sources.list;需确认版本代号(如 noble 或 resolute),严格保持 types、uris、suites、components 字段完整且格式正确。

/etc/apt/sources.list 最稳妥,但必须匹配你的 Ubuntu 版本代号(如 focal 对应 20.04,jammy 对应 22.04,noble 对应 24.04),否则 sudo apt update 会报错或拉不到包。
确认当前 Ubuntu 版本和代号
别猜,直接查:lsb_release -sc 输出的就是你要用的代号(比如 noble);lsb_release -sr 显示版本号(比如 24.04)。Ubuntu 24.04 开始默认使用 DEB822 格式的 /etc/apt/sources.list.d/ubuntu.sources,而不是老式 sources.list,这点容易漏掉。
- 运行
ls -l /etc/apt/sources.list*看哪个文件存在且非空——优先处理那个 - 如果看到
ubuntu.sources,就别碰sources.list,否则可能被 APT 忽略 - Ubuntu 22.04 及更早默认用
sources.list;24.04 Pro 或桌面版新装系统大概率用.sources
手动替换镜像源时的 URL 细节
清华、阿里、中科大等镜像站地址格式不完全一致,且必须带协议和路径结构。例如:
- 清华源(HTTPS 推荐):
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/后接版本代号 +/main restricted universe multiverse - 阿里源:
https://mirrors.aliyun.com/ubuntu/同样需拼上代号和组件 - 中科大源:
https://mirrors.ustc.edu.cn/ubuntu/注意它不支持security源的实时同步,生产环境慎换security.ubuntu.com部分
错误示例:sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list —— 这种粗暴替换在 HTTPS 场景下会失败(因为原地址可能是 http://archive.ubuntu.com,而目标是 https://...),且无法适配 -security 或 -updates 子路径。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
DEB822 格式(.sources 文件)怎么改
Ubuntu 24.04 默认用这种格式,内容是键值对,不是简单字符串替换。编辑 /etc/apt/sources.list.d/ubuntu.sources 时,不能删整行再手写,得保持 Types、URIs、Suites、Components 四个字段完整:
Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ Suites: noble noble-updates noble-security Components: main restricted universe multiverse
-
Suites字段要包含noble(主发行版)、noble-updates、noble-security,缺一不可 -
URIs必须以https://开头,结尾不加斜杠 - 改完后运行
sudo apt update,如果提示 “no valid sources” 或 “malformed stanza”,八成是某一行少了个冒号或缩进错位
换源后 apt update 报错的常见原因
最常卡在签名验证失败或 404,不是镜像站问题,而是本地配置没对齐:
-
Release file not found:镜像站还没同步完新版本,或你填的Suites里写了不存在的代号(比如把noble写成24.04) -
NO_PUBKEY或GPG error:没导入对应镜像站的 GPG key。清华源需执行:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32(注意:Ubuntu 22.04+ 已弃用apt-key,应改用gpg --dearmor导入到/usr/share/keyrings/) -
Could not handshake:系统时间严重不准(差几分钟以上),先跑sudo timedatectl set-ntp true
真正麻烦的点不在换源动作本身,而在判断当前系统到底用哪种格式、哪个文件、哪个代号——错一个,apt 就拒绝工作,而且错误信息不会直接告诉你哪行写错了。










