若 apt update 或 yum makecache 缓慢、超时或报 404,需更换为国内镜像源:ubuntu/debian 改用清华源,centos/rhel 下载清华 repo,批量替换可用 sed,验证需检查域名与连通性,密钥错误可临时加 [trusted=yes]。

如果您在 linux 系统中执行 apt update 或 yum makecache 时速度缓慢、超时或返回 404 错误,则很可能是源列表(sources.list 或 .repo 文件)中配置的软件仓库地址不可达或未同步。以下是针对 Debian/Ubuntu 和 CentOS/RHEL 系统调整源列表并启用镜像加速的具体操作步骤:
一、Debian/Ubuntu 系统更换为国内 APT 镜像源
APT 包管理器默认使用官方境外源,延迟高且易受网络波动影响。替换为清华大学、中科大或阿里云等镜像站可显著提升下载速度和稳定性。
1、备份原始源列表文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2、编辑源列表:sudo nano /etc/apt/sources.list
3、清空文件内容,粘贴以下清华大学镜像源(适用于 Ubuntu 22.04):
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
4、保存退出后执行更新:sudo apt update
二、CentOS/RHEL 系统切换至国内 YUM/DNF 镜像源
CentOS 7/8 及 Rocky/AlmaLinux 默认使用国外 baseurl,部分镜像站已停止维护。改用清华或华为云镜像可避免 404 和连接失败。
1、进入仓库配置目录:cd /etc/yum.repos.d/
2、备份原有 repo 文件:sudo cp CentOS-Base.repo CentOS-Base.repo.bak
3、下载适配当前系统的清华镜像 repo 配置(以 CentOS 7 为例):sudo curl -o CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/help/centos/7/x86_64/
4、清除缓存并重建元数据:sudo yum clean all && sudo yum makecache
三、使用 sed 命令批量替换源地址(无交互式编辑)
当需在多台服务器上快速部署统一镜像源时,可跳过手动编辑,直接通过 sed 替换所有匹配行,避免因路径或版本差异导致配置错误。
1、确认系统代号(如 Ubuntu 的 focal、jammy):lsb_release -sc
2、执行一键替换(以 Ubuntu jammy + 阿里云镜像为例):sudo sed -i ‘s|http://archive.ubuntu.com|https://mirrors.aliyun.com|g’ /etc/apt/sources.list
3、再次替换安全更新源地址:sudo sed -i ‘s|http://security.ubuntu.com|https://mirrors.aliyun.com|g’ /etc/apt/sources.list
4、完成更新:sudo apt update
四、验证镜像源是否生效
仅修改配置不等于成功生效,必须验证实际请求是否命中镜像站域名,并确认包索引能正常解析,防止因 DNS 缓存或重定向失效导致回退到原始源。
1、检查更新日志中的域名解析结果:sudo apt update 2>&1 | grep ‘mirrors.’
2、抓取一个包的下载 URL 并测试连通性:apt download curl | head -1 | xargs curl -I -s | grep ‘HTTP/1.1 200’
3、确认当前使用的源域名:grep ‘^deb’ /etc/apt/sources.list | head -1
五、临时禁用 GPG 校验以绕过密钥缺失问题
部分第三方镜像站或自建源未正确配置 Release.gpg 签名,导致 apt update 报错 “NO_PUBKEY” 或 “BADSIG”。此时可临时关闭校验以完成更新流程,但仅限可信内网环境。
1、在 sources.list 行末添加选项:[trusted=yes]
2、例如修改某行为:deb [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main
3、立即应用更改:sudo apt update