Ubuntu 20.04执行sudo apt-get update连接失败如何解决?
问题描述
本地部署Docker流程中,执行sudo apt-get update更新软件包索引时抛出连接失败错误,错误输出如下:
sudo apt-get update Err:1 http://security.ubuntu.com/ubuntu focal-security InRelease Connection failed [IP: 185.125.190.36 80] Err:2 http://us.archive.ubuntu.com/ubuntu focal InRelease Connection failed [IP: 91.189.91.38 80] Err:3 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease Connection failed [IP: 91.189.91.38 80] Err:4 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease Connection failed [IP: 91.189.91.39 80] Reading package lists... Done W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/focal/InRelease Connection failed [IP: 91.189.91.38 80] W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease Connection failed [IP: 91.189.91.38 80] W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/focal-backports/InRelease Connection failed [IP: 91.189.91.39 80] W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/focal-security/InRelease Connection failed [IP: 185.125.190.36 80] W: Some index files failed to download. They have been ignored, or old ones used instead.
故障根因
所有Ubuntu官方软件源请求均触发连接失败,不存在单源路径错误,问题集中在网络链路、系统配置层面,常见诱因如下:
- 公网连通性故障:本地网络断连、路由配置错误导致无法访问外网资源
- 访问链路拦截:运营商网络策略、本地防火墙/云服务器安全组规则拦截了80端口出站请求,无法连接官方源服务器
- 代理配置失效:系统或apt工具配置了不可用的代理服务,所有源请求被转发至失效代理节点导致连接失败
- DNS解析污染:DNS服务器将官方源域名解析至不可达的错误IP地址
- 官方源访问不稳定:Ubuntu官方源服务器部署在海外,国内网络环境下经常出现连接超时、丢包问题
排查解决步骤
按从易到难顺序排查:
- 验证基础网络连通性
执行ping baidu.com -c 3测试公网连通性,如果丢包率100%,优先排查本地网卡配置、网关设置、宽带拨号状态,确认公网连接正常后再后续操作。
公网正常的情况下执行curl -v http://us.archive.ubuntu.com测试到官方源的链路状态,如果返回Connection timed out或Connection refused,说明到官方源的链路不通。 - 排查无效代理配置
分别执行以下命令检查代理配置:
如果输出中存在已失效的代理地址,编辑对应配置文件删除代理条目,或执行# 检查apt专属代理配置 cat /etc/apt/apt.conf.d/*proxy # 检查系统全局代理配置 env | grep -i proxyunset http_proxy https_proxy临时清除全局代理后重试更新。 - 检查拦截规则
本地主机执行sudo ufw status查看防火墙出站规则,确认未拦截80端口访问;如果是云服务器实例,登录云服务商控制台检查安全组规则,确认放通80端口出站访问权限。 - 替换国内镜像源(国内环境优先操作)
海外官方源访问不稳定是国内环境下触发该错误的最高频原因,直接替换为国内镜像源即可解决:# 备份原有源配置 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 编辑源列表,将原有us.archive.ubuntu.com、security.ubuntu.com替换为国内镜像地址(如mirrors.aliyun.com、mirrors.tuna.tsinghua.edu.cn) sudo nano /etc/apt/sources.list # 清理缓存重新更新 sudo apt-get clean sudo apt-get update - 特殊场景适配
如果是WSL2环境下出现该问题,大概率是WSL虚拟网络栈异常,在Windows宿主执行wsl --shutdown关闭WSL实例后重新打开即可恢复。
注意:所有排查步骤操作完成后,均需重新执行
sudo apt-get update验证修复效果,更新成功后再继续Docker安装流程。
内容的提问来源于stack exchange,提问作者ProgramCOder
相关产品推荐
相关产品推荐

