如何在Ubuntu或Debian或Mint Linux上将apt-get与IPv4或IPv6传输(地址)一起使用

时间:2020-01-09 10:40:48  来源:igfitidea点击:

如何可以强制我的apt-get命令/apt命令仅在Debian或Ubuntu Linux上使用IPv6或Ipv4传输吗?
服务器?

您需要在Debian或Ubuntu Linux上配置获取组选项。

"获取"选项组控制软件包的下载以及负责下载本身的各种获取方法,如下所示:

  • ForceIPv4:下载时,强制仅使用IPv4协议(必须设置为true)。
  • ForceIPv6:下载时,强制仅使用IPv6协议(必须设置为true)。

当然,您还需要正确配置基于IPv6的系统,并需要路由器和ISP的支持,否则每次尝试下载更新时,您可能会看到或不得不等待一些超时:
如何强制apt-get使用IPv4或在Ubuntu或Debian Linux上使用IPv6以避免超时

由于无法访问security.ubuntu.com(2001:67c:1560:8001 :: 14)的IPv6地址,我的apt-get会话挂断了。
在本快速教程中,您将学习如何使用apt-get命令IPv4代替IPv6地址。

强制通过IPv4/IPv6传输进行apt-get的语法

Acquire组的apt-get语法为:

apt-get -o Acquire::option command 
apt-get -o Acquire::option=value command 
apt-get -o Acquire::option=value install pkg1
apt-get -o Acquire::option=value update
apt-get -o Acquire::option=value upgrade
apt-get -o Acquire::option=value dist-upgrade

使用apt-get强制进行IPv4传输

在此示例中,强制进行IPv4传输:

sudo apt-get -o Acquire::ForceIPv4=true install pkg
sudo apt-get -o Acquire::ForceIPv4=true update
sudo apt-get -o Acquire::ForceIPv4=true upgrade
sudo apt-get -o Acquire::ForceIPv4=true dist-upgrade
sudo apt-get -o Acquire::ForceIPv4=true install ksh

使用apt-get强制进行IPv6传输

在此示例中,强制进行IPv6传输:

sudo apt-get -o Acquire::ForceIPv6=true install pkg
sudo apt-get -o Acquire::ForceIPv6=true update
sudo apt-get -o Acquire::ForceIPv6=true upgrade
sudo apt-get -o Acquire::ForceIPv6=true dist-upgrade
sudo apt-get -o Acquire::ForceIPv6=true install ksh

具有bash shell别名的持久选项

将以下bash shell别名选项添加到~/.bashrc文件中:

## Always use IPv6 ##
alias apt-get='sudo apt-get -o Acquire::ForceIPv6=true'
## Example for IPv4 transport 
# alias apt-get='sudo apt-get -o Acquire::ForceIPv4=true'

带有apt-get配置文件的持久IPv6传输选项

使用vi文本编辑器创建以下文件/etc/apt/apt.conf.d/1000-force-ipv6-transport:

$ sudo vi /etc/apt/apt.conf.d/1000-force-ipv6-transport

追加以下选项:

Acquire::ForceIPv6 "true";

保存并关闭文件。

带有apt-get配置文件的持久IPv4传输选项

使用vi文本编辑器创建以下文件/etc/apt/apt.conf.d/1000-force-ipv4-transport:

$ sudo vi /etc/apt/apt.conf.d/1000-force-ipv4-transport

追加以下选项:

Acquire::ForceIPv4 "true";

保存并关闭文件。

测试一下

执行以下apt-get命令或apt命令,如下所示:

$ sudo apt-get update

输出示例:

Hit:1 http://mirrors.linode.com/ubuntu xenial InRelease
Hit:2 http://mirrors.linode.com/ubuntu xenial-updates InRelease
Hit:3 http://mirrors.linode.com/ubuntu xenial-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease               
Reading package lists... Done
$ sudo apt-get upgrade