无法连接Ubuntu软件源:Ubuntu 16.04执行apt安装命令失败求助
解决Ubuntu 16.04 APT安装软件卡在IPv6连接的问题
看起来你遇到的是APT优先尝试IPv6连接但链路不通的问题——虽然你的有线网络速度很快,但终端里显示的2001:67c:1360:8001::21是ro.archive.ubuntu.com的IPv6地址,大概率是IPv6的解析或连接出现了异常。下面是几个实用的解决方法:
1. 强制APT使用IPv4(最直接的临时/永久方案)
临时测试的话,直接在安装命令里加上强制IPv4的参数:
sudo apt -o Acquire::ForceIPv4=true install joe
如果这个命令能正常执行,说明确实是IPv6的问题。想要永久生效的话,创建一个APT配置文件:
sudo nano /etc/apt/apt.conf.d/99force-ipv4
在文件里写入以下内容并保存退出:
Acquire::ForceIPv4 "true";
之后所有APT命令都会默认使用IPv4连接源服务器。
2. 更换软件源(规避特定源的连接问题)
ro.archive.ubuntu.com是罗马尼亚的源,可能距离你的网络节点较远导致连接不畅。可以换成国内的镜像源,比如阿里云的Ubuntu 16.04(xenial)源:
- 先备份原来的源配置:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak - 编辑源文件:
sudo nano /etc/apt/sources.list - 将文件内容替换为以下阿里云源:
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse - 最后更新源缓存:
sudo apt update
之后再尝试安装软件应该就能正常连接了。
3. 检查并调整DNS配置
有时候DNS解析出的IPv6地址存在异常,导致APT无法正常连接。可以尝试更换公共DNS服务器:
- 临时修改DNS:编辑
/etc/resolv.conf文件,添加或替换为:nameserver 8.8.8.8 nameserver 114.114.114.114 - 如果是用NetworkManager管理网络,也可以直接在系统设置的网络选项里,找到有线连接的DNS设置,手动添加上述公共DNS地址。
4. 验证IPv6连接状态
可以先测试一下能不能ping通那个IPv6地址:
ping6 2001:67c:1360:8001::21
如果长时间没有响应或者丢包率很高,就说明你的网络环境下IPv6到该源的链路确实有问题,这时候优先用IPv4的方案就是最优解。
内容的提问来源于stack exchange,提问作者Sinka Attila
相关产品推荐
相关产品推荐

