ubuntu 24.04+ 默认使用 deb822 格式,需检查 /etc/apt/sources.list.d/*.sources 是否存在且含 "uris:" 字段;若无则回退至 /etc/apt/sources.list。

直接换源能明显提速,但 Ubuntu 24.04 及更新版本默认用 DEB822 格式(.sources 文件),只改 /etc/apt/sources.list 会失效。
怎么判断该改哪个文件
Ubuntu 从 24.04(Noble)起默认启用 APT 的 DEB822 源格式,配置分散在 /etc/apt/sources.list.d/ 下的 *.sources 文件中;旧版(如 22.04 Jammy)仍以 /etc/apt/sources.list 为主。不确认时先查:
- 运行
ls /etc/apt/sources.list.d/*.sources 2>/dev/null,有输出说明走 DEB822 - 运行
grep -l "Types:" /etc/apt/sources.list.d/*.sources 2>/dev/null,若返回路径,则确认是新格式 - 若两者都为空,且
/etc/apt/sources.list存在且非空,就按传统格式处理
DEB822 格式下如何安全替换清华源
不能用简单 sed 替换 URL,因为字段结构严格,手误易导致 APT 解析失败。推荐用 sed 精准定位字段修改:
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 先备份:
sudo cp -r /etc/apt/sources.list.d/ /etc/apt/sources.list.d.bak - 批量替换主源和安全源 URI:
sudo sed -i 's@^URIs:.*archive.ubuntu.com@URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/@g; s@^URIs:.*security.ubuntu.com@URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/@g' /etc/apt/sources.list.d/*.sources - 注意:必须保留
URIs:前缀和冒号,且只改这一行;Suites:和Components:行不能动 - 改完后运行
sudo apt update,若报错Invalid value for URIs,说明格式被破坏,立刻从备份恢复
传统 sources.list 格式常见错误
很多人复制镜像站给的示例时漏掉关键部分,导致 apt update 报 404 或忽略某类包:
- 忘记补全
deb-src行 —— 这会导致无法apt source或编译安装,不是必须但建议保留 - 把
focal(20.04)错写成jammy(22.04)—— 镜像站目录不存在,直接 404;查当前代号用lsb_release -sc - 混用 HTTP 和 HTTPS —— 部分镜像站(如 USTC)已弃用 HTTP,强制用
https://,否则连接被重置 - 注释掉整段却忘了取消
# deb-src前的#—— 导致源实际未启用
为什么安全源(security)也得一起换
不换 security.ubuntu.com 地址,apt update 会卡在它上面超时或失败,尤其在校园网或某些 ISP 下:
- 清华、中科大、阿里云等主流镜像均同步
security目录,延迟通常在 1–2 小时内,对普通用户足够 - 只换主源不换 security 源,
apt list --upgradable可能漏掉关键安全更新 - 命令行一键换全量(含 security):
sudo sed -i 's@http://\(archive\|security\)\.ubuntu\.com@https://mirrors.tuna.tsinghua.edu.cn/ubuntu@g' /etc/apt/sources.list - 图形界面方式(“软件和更新”→“选择最佳服务器”)默认也会一并切换 security 源
最麻烦的其实是混合环境:一台机器既有传统 sources.list,又存在 sources.list.d/*.sources,两处都得检查。别信“改完一个就 OK”,apt update 的输出里如果出现 Hit 和 Ign 并存,大概率是某处源没生效或地址拼错了。










