连接个人手机热点时sudo apt-get update失败,更换其他手机热点可正常运行
问题描述:
当我把PC连接到自己手机的热点时,网络能正常使用,但执行命令sudo apt-get update时出现错误;换成其他手机的热点则能正常更新。具体错误如下:
W: Failed to fetch http://packages.microsoft.com/repos/code/dists/stable/InRelease
Could not connect to packages.microsoft.com:80 (13.81.215.193), connection timed out
W: Some index files failed to download.
They have been ignored, or old ones used instead.
看起来你的问题是特定手机热点下无法访问微软的软件源,但换其他热点就正常,这大概率是你自己手机的热点网络配置或者运营商网络限制导致的,给你几个排查和解决的方向:
检查手机热点的网络限制功能
看看你的手机有没有开启流量节省模式、智能后台限制这类功能,这类功能可能会优先保障常用APP的网络访问,拦截了软件源更新这类后台请求。另外,如果手机装了第三方安全软件,也可能存在防火墙拦截的情况,建议临时关闭后再测试。手动测试网络连通性
在PC连接自己热点的状态下,打开终端执行以下命令,确认是否能正常访问微软源的服务器:# 测试域名解析和连通性 ping packages.microsoft.com # 测试80端口是否能连接 telnet packages.microsoft.com 80如果ping不通或者telnet提示超时,说明你的手机网络确实无法访问这个服务器的80端口,可以尝试改用HTTPS协议的源。
修改微软软件源为HTTPS协议
编辑微软源的配置文件(通常位于/etc/apt/sources.list.d/vscode.list,如果是VS Code的源),将原来的http替换为https:
原配置行:deb http://packages.microsoft.com/repos/code stable main
修改后:deb https://packages.microsoft.com/repos/code stable main
保存文件后再次执行sudo apt-get update,HTTPS使用的443端口通常不会被普通网络限制拦截。更换PC的DNS服务器
有时候手机热点默认的DNS解析存在问题,导致无法正确解析packages.microsoft.com的地址。你可以在PC的网络设置里手动将DNS改为公共DNS,比如8.8.8.8(谷歌DNS)或者1.1.1.1(Cloudflare DNS),设置完成后重启网络再测试更新。排查运营商网络限制
尝试用你的手机直接访问http://packages.microsoft.com,如果手机也无法打开,那可能是你的手机所属运营商对该IP段(13.81.215.193)有访问限制。这种情况下可以联系运营商咨询,或者换个时间段再尝试更新。
备注:内容来源于stack exchange,提问作者Ahmed Amine Herzallah

