Vultr 机房均位于中国大陆以外,切换国内镜像源需经过跨境网络,速度不一定提升。建议优先选择离 VPS 地理位置最近的镜像源,若必须使用国内源,需修改/etc/apt/sources.list 文件。
先说结论: overseas VPS 使用国内镜像源受跨境带宽限制,速度改善不确定,优先推荐切换至 VPS 所在区域的镜像源。
- 适合:Ubuntu/Debian 系统,需要下载国内特有软件包的场景
- 先准备:备份原有 sources.list 文件,确认系统版本代号
- 再验证:执行 apt update 观察连接耗时与下载速度
命令速用版
以下命令适用于 Ubuntu/Debian 系统,将源切换为阿里云镜像,执行前请确认系统版本。
cp /etc/apt/sources.list /etc/apt/sources.list.bak
sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
apt update为什么会这样
物理距离和网络路由决定了 apt 更新速度,跨境链路容易拥堵。Vultr 没有中国大陆机房,访问国内镜像源数据需经过国际出口带宽。若 VPS 位于亚洲节点(如东京、新加坡),访问国内源延迟相对较低;若位于欧美节点,跨境延迟较高可能导致连接超时。官方源通常部署在全球多个 CDN 节点,有时比单一国内源更稳定。
分步处理
按顺序执行以下操作,确保配置可回滚。
第一步:备份配置文件
防止配置错误导致无法安装软件,必须保留原始文件。
cp /etc/apt/sources.list /etc/apt/sources.list.bak第二步:确认系统版本代号
不同 Ubuntu/Debian 版本对应不同的源路径,错误代号会导致 404 报错。
lsb_release -cs第三步:替换镜像源地址
使用 sed 命令批量替换,或手动编辑文件。以下以 Ubuntu 20.04 (focal) 阿里云源为例,需根据实际版本调整。
cat > /etc/apt/sources.list <第四步:更新缓存
执行更新命令,观察输出日志中的连接状态。
apt update怎么验证是否生效
通过更新耗时和下载速率判断镜像源可用性。
检查命令:
apt update 2>&1 | grep -E "Get|Ign|Err"判断标准:
- 生效:显示 Hit 或 Get,且下载速度稳定(如显示 100KB/s 以上)
- 未生效:显示 Err 或 Connection timed out,或速度长期低于 10KB/s
- 回滚:若速度无改善,恢复备份文件
cp /etc/apt/sources.list.bak /etc/apt/sources.list
常见坑
操作过程中容易忽略系统版本匹配和网络 DNS 问题。
- 版本不匹配:sources.list 中的代号(如 focal、buster)必须与 lsb_release -cs 输出一致,否则 apt update 报错 404
- DNS 解析慢:有时慢并非镜像源问题,而是 DNS 解析延迟,可尝试更换为 8.8.8.8 或 1.1.1.1 测试
- HTTPS 证书错误:部分镜像源支持 HTTPS,若证书验证失败可暂时改用 http,但需注意安全风险
- 跨境干扰:国内镜像源在海外访问可能受网络波动影响,非永久稳定方案
常见问题
切换后速度反而更慢怎么办?
立即还原备份文件并尝试切换至 VPS 所在国家的官方镜像。海外 VPS 访问国内源存在跨境带宽瓶颈,地理位置最近的镜像源通常延迟最低。
apt update 报错 404 Not Found?
检查 sources.list 中的系统版本代号是否正确。不同 Ubuntu/Debian 版本对应不同目录,需确保代号与 lsb_release -cs 输出完全一致。
如何确认当前使用的镜像源?
查看配置文件内容即可确认。执行 cat /etc/apt/sources.list,输出中的域名即为当前使用的镜像源地址。
参考来源
- Ubuntu Wiki, "RepositoryManagement", https://wiki.ubuntu.org/RepositoryManagement
- Debian Wiki, "SourcesList", https://wiki.debian.org/SourcesList
- Aliyun Open Source Mirror Station, "Ubuntu Help", https://mirrors.aliyun.com/help/ubuntu