如何在Ubuntu中强制APT程序包管理器使用IPv4

时间:2020-03-21 11:44:35  来源:igfitidea点击:

APT(简短或者高级软件包工具)是基于Debian的系统的默认软件包管理器。
使用APT,我们可以从系统中安装,更新,升级和删除应用程序。
最近,我遇到了一个奇怪的错误。
每当我尝试更新我的Ubuntu 16.04框时,都会出现此错误“ 0%[Connecting to in.archive.ubuntu.com(2001:67c:1560:8001 :: 14)]”,并且更新过程被卡了很长时间。
我的互联网连接运行良好,我可以ping通所有,包括Ubuntu官方。
经过几次Google搜索后,我意识到有时无法通过IPv6访问Ubuntu镜像。
在我强制APT软件包管理器在更新系统时使用IPv4代替IPv6来访问Ubuntu镜像后,此问题得以解决。
如果遇到此错误,可以按照以下说明解决。

要在更新和升级Ubuntu 16.04 LTS系统时强制APT使用IPv4代替IPv6,只需使用以下命令:

$sudo apt-get -o Acquire::ForceIPv4=true update
$sudo apt-get -o Acquire::ForceIPv4=true upgrade

瞧!此时间更新过程已运行并迅速完成。

我们还可以通过使用以下命令在/etc/apt/apt.conf.d/99force-ipv4文件中添加以下行,来使以后对所有apt-get事务持久化:

$echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4

免责声明:

我不知道最近是否有人遇到此问题,但是今天我在Ubuntu 16.04 LTS虚拟机中至少四到五次一直出现此错误,并且如上所述解决了该问题。
我不确定这是推荐的解决方案。
浏览Ubuntu论坛,并确保此方法合法。
由于我的只是一个VM,我仅将其用于测试和学习目的,因此我不介意此方法的真实性。
自行承担使用风险。