Ubuntu 24.04 默认使用 DEB822 格式,应优先检查并修改 /etc/apt/sources.list.d/*.sources 文件;若存在 Types: 字段则确认为新格式,否则改 /etc/apt/sources.list,且须同步替换 archive.ubuntu.com 和 security.ubuntu.com 并确保 URI 末尾带斜杠、Signed-By 有效。

直接换 /etc/apt/sources.list 最快,但 Ubuntu 24.04 及部分新安装系统已改用 .sources 文件格式,硬套老方法会失效。
怎么判断该改 sources.list 还是 .sources 文件
Ubuntu 22.04 及更早版本基本只用 /etc/apt/sources.list;24.04 默认启用 DEB822 格式,配置分散在 /etc/apt/sources.list.d/ubuntu.sources 等文件里。别猜,直接检查:
- 运行
ls /etc/apt/sources.list.d/*.sources,如果有输出(比如ubuntu.sources),优先改这些文件 - 运行
grep -l "Types:" /etc/apt/sources.list.d/*.sources 2>/dev/null,有返回就说明是 DEB822 格式 - 如果只有
/etc/apt/sources.list且内容是deb http://...这种一行一条的,就改它
sed 替换镜像地址时容易漏掉 security 源
很多脚本只替换 archive.ubuntu.com,但安全更新走的是 security.ubuntu.com,不一起换会导致 sudo apt update 报 404 或卡在 Hit:5 http://security.ubuntu.com... 不动。正确做法是分两步:
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 通用源替换:
sudo sed -i 's@//archive.ubuntu.com@//mirrors.aliyun.com@g' /etc/apt/sources.list - 安全源单独处理:
sudo sed -i 's@//security.ubuntu.com@//mirrors.aliyun.com@g' /etc/apt/sources.list - 如果是 DEB822 格式,得用
sudo sed -i 's@security.ubuntu.com@mirrors.aliyun.com@g' /etc/apt/sources.list.d/ubuntu.sources
阿里云、清华、USTC 镜像源的 URL 差异点
三个主流镜像站的 HTTPS 地址结构一致,但路径细节不同,尤其注意末尾斜杠和协议:
- 阿里云:
https://mirrors.aliyun.com/ubuntu/(必须带末尾/,否则apt解析失败) - 清华:
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/(同上,缺斜杠会报Invalid URI) - 中科大:
https://mirrors.ustc.edu.cn/ubuntu/(同样要求末尾斜杠) - 别写成
http://—— 新版 APT 默认禁用非 HTTPS 源,会直接跳过
换完必须验证签名和更新顺序
换源后不是 sudo apt update 一下就完事。常见问题出在 GPG 密钥缺失或旧 keyring 冲突:
- 先运行
sudo apt clean && sudo rm -rf /var/lib/apt/lists/*清空缓存,避免旧索引干扰 - 再执行
sudo apt update,如果报NO_PUBKEY,说明镜像站用的密钥没导入,得手动加:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <KEY_ID> - 阿里云和清华源一般自带密钥包,但 USTC 某些旧镜像需额外运行
sudo apt install ubuntu-keyring - 最后用
apt policy确认所有源都指向新地址,且状态为100而非0
最易被忽略的是:DEB822 格式下,Signed-By 字段必须指向有效的密钥文件,否则整个源会被 apt 忽略 —— 这个错误不会报错,只会静默跳过,导致你以为换成功了,其实还在用旧源。

















