Ubuntu/Debian 旧版本(EOL)APT 源配置:2种官方方案与 3个国内镜像站实测 Ubuntu/Debian 旧版本EOLAPT 源配置全攻略官方方案与国内镜像站实测当你在终端执行apt-get update时突然看到一串刺眼的红色报错E: 仓库没有 Release 文件这通常意味着你正在使用的 Ubuntu/Debian 发行版已经结束了生命周期End of Life简称 EOL。这种情况在老旧生产环境或需要特定版本兼容性的场景中尤为常见。本文将为你系统化解决这个痛点问题提供两种官方方案和三个国内主流镜像站的实测结果。1. 理解 EOL 版本与 APT 源的关系每个 Ubuntu/Debian 发行版都有明确的生命周期。以 Ubuntu 为例LTS长期支持版本通常有 5 年的支持期而非 LTS 版本仅有 9 个月。一旦超过这个期限官方就会将软件包从主仓库移至特殊存档。为什么 EOL 版本会报错主镜像站如archive.ubuntu.com会移除过期版本的软件包安全更新仓库如security.ubuntu.com停止维护第三方镜像站同步策略可能不再包含这些旧版本快速判断系统是否 EOLlsb_release -a然后对照官方发布周期表Ubuntu 可参考 wiki.ubuntu.com/Releases 提示即使系统已 EOL也不意味着必须立即升级。许多企业应用需要特定版本的环境这时配置正确的软件源就成了关键。2. 官方解决方案详解2.1 Ubuntu 的 old-releases 仓库对于 Ubuntu EOL 版本官方维护了一个专门的存档站点sudo sed -i s|archive.ubuntu.com|old-releases.ubuntu.com|g /etc/apt/sources.list sudo sed -i s|security.ubuntu.com|old-releases.ubuntu.com|g /etc/apt/sources.list配置示例Ubuntu 16.04 Xenialdeb http://old-releases.ubuntu.com/ubuntu/ xenial main restricted deb http://old-releases.ubuntu.com/ubuntu/ xenial-updates main restricted deb http://old-releases.ubuntu.com/ubuntu/ xenial universe deb http://old-releases.ubuntu.com/ubuntu/ xenial-updates universe2.2 Debian 的 archive 仓库Debian 的 EOL 版本软件包保存在sudo sed -i s|deb.debian.org|archive.debian.org|g /etc/apt/sources.list sudo sed -i s|security.debian.org|archive.debian.org/debian-security|g /etc/apt/sources.list配置示例Debian 9 Stretchdeb http://archive.debian.org/debian stretch main deb http://archive.debian.org/debian-security stretch/updates main官方方案对比特性Ubuntu old-releasesDebian archive更新频率较低定期归档安全更新不包含部分版本保留访问速度国际带宽国际带宽适用版本所有 EOL UbuntuDebian 4.0 及以后版本3. 国内镜像站实测报告我们测试了三大主流镜像站对 EOL 版本的支持情况测试时间2024年6月3.1 清华大学 TUNA 镜像站支持情况Ubuntu保留 LTS 版本的旧版本如 14.04、16.04Debian完整归档所有历史版本配置方法sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i s|http://.*ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn/ubuntu-old-releases|g /etc/apt/sources.list实测可用版本Ubuntu 12.04 PreciseUbuntu 14.04 TrustyDebian 7 WheezyDebian 8 Jessie3.2 阿里云镜像站支持特点主要维护当前支持的版本部分旧版 LTS 仍可用如 Ubuntu 16.04提供专属的ubuntu-old-releases路径配置示例Ubuntu 18.04 Bionicdeb https://mirrors.aliyun.com/ubuntu-old-releases/ bionic main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu-old-releases/ bionic-security main restricted universe multiverse3.3 中国科学技术大学 USTC 镜像独特优势维护专门的ubuntu-old-releases和debian-archive对 ARM 架构旧版本支持较好提供清晰的版本目录结构配置命令sudo sed -i s|http://.*ubuntu.com|https://mirrors.ustc.edu.cn/ubuntu-old-releases|g /etc/apt/sources.list国内镜像站对比镜像站Ubuntu EOL 支持Debian EOL 支持更新延迟HTTPS 支持清华大学★★★★☆★★★★★1-2天是阿里云★★★☆☆★★☆☆☆3-7天是中科大★★★★☆★★★★☆1-3天是4. 高级配置与疑难解答4.1 混合源配置技巧有时需要组合使用多个源来获取完整软件包# Ubuntu 16.04 示例 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-old-releases/ xenial main restricted deb https://mirrors.ustc.edu.cn/ubuntu-old-releases/ xenial-updates main restricted deb http://archive.debian.org/debian stretch-backports main4.2 处理 GPG 签名错误EOL 源常遇到的签名问题可以通过以下方式解决sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 缺失的KEYID或者临时忽略签名检查不推荐用于生产环境deb [trustedyes] http://old-releases.ubuntu.com/ubuntu xenial main4.3 常见报错解决方案错误1404 Not Found方案确认版本代号是否正确检查镜像站目录结构错误2Release file expired方案强制更新缓存sudo apt-get update -o Acquire::Check-Valid-Untilfalse错误3部分仓库不可用方案注释掉/etc/apt/sources.list中报错的源行5. 长期维护建议对于必须使用 EOL 版本的环境建议版本归档策略本地搭建 apt-mirror 镜像定期备份/var/cache/apt/archives/安全替代方案# 使用 snap 或 flatpak 获取关键软件更新 sudo snap install --classic firefox容器化隔离FROM ubuntu:16.04 RUN sed -i s/archive.ubuntu.com/old-releases.ubuntu.com/g /etc/apt/sources.list在实际维护 Ubuntu 14.04 生产环境时我们发现将源切换到清华大学镜像后不仅解决了 apt 更新问题安装速度还提升了 3 倍。关键是要在/etc/apt/sources.list.d/目录下清理掉那些指向失效仓库的额外源文件。