国家代码
最简单的方法是确保在/etc/apt/sources.list
包括适合您所在位置的相关国家/地区代码。例如,在下面,您可以找到官方的美国Ubuntu镜像,如/etc/apt/sources.list
:
deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted
如果您不在美国,只需覆盖us
国家/地区代码以及您所在国家/地区的相应代码。也就是说,如果您位于例如澳大利亚,请更新您的/etc/apt/sources.list
所有条目的文件为:
deb http://au.archive.ubuntu.com/ubuntu/ xenial main restricted
使用镜像协议
使用镜像协议作为您的一部分/etc/apt/sources.list
该条目将指示apt命令仅获取您所在国家/地区内的镜像。为了使用镜像协议,更新其中的所有行/etc/apt/sources.list
通常的文件,例如:
deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted
至:
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial main restricted
在适当的地方对所有相关行重复上述操作。或者,使用sed
命令自动编辑您的/etc/apt/sources.list
文件。更新以下sed
在适合您的环境的地方执行命令:
$ sudo sed -i -e 's/http:\/\/us.archive/mirror:\/\/mirrors/' -e 's/\/ubuntu\//\/mirrors.txt/' /etc/apt/sources.list
手动选择镜面
上面的解决方案看起来很简单,它们可能只为您工作。但是,由apt选择的镜像可能不是最快的,因为它可能会因高延迟而负担重。在这种情况下,您可以尝试从您所在国家/地区的镜像列表中手动选择镜像。采用wget
命令以检索列表。下面wget
命令将检索与您所在国家/地区相关的apt ubuntu镜像。例:
$ wget -qO - mirrors.ubuntu.com/mirrors.txt
http://mirror.netspace.net.au/pub/ubuntu/
http://mirror.internode.on.net/pub/ubuntu/ubuntu/
http://mirror.overthewire.com.au/ubuntu/
http://mirror.aarnet.edu.au/pub/ubuntu/archive/
http://mirror.tcc.wa.edu.au/ubuntu/
http://ubuntu.mirror.serversaustralia.com.au/ubuntu/
http://ftp.iinet.net.au/pub/ubuntu/
http://ubuntu.mirror.digitalpacific.com.au/archive/
http://mirror.waia.asn.au/ubuntu/
http://ubuntu.uberglobalmirror.com/archive/
http://mirror.as24220.net/pub/ubuntu/
http://mirror.as24220.net/pub/ubuntu-archive/
根据您的经验,选择最佳的镜像并更改您的/etc/apt/sources.list
适当的apt配置文件。
使用netselect选择最快的镜像
首选此解决方案,因为它可以确保最快的镜像选择。为此,我们将使用netselect
命令。的netselect
默认情况下,该软件包在Ubuntu的标准存储库中不可用,因此我们需要从Debian稳定存储库中借用它:
$ sudo apt-get install wget
$ wget http://ftp.au.debian.org/debian/pool/main/n/netselect/netselect_0.3.ds1-26_amd64.deb
$ sudo dpkg -i netselect_0.3.ds1-26_amd64.deb
一旦有了netselect
Ubuntu系统上可用的命令可用于根据最低的icmp延迟找到最快的镜像。 netselect输出将相对于您的位置。以下示例输出将显示前20个apt Ubuntu镜像(如果有):
$ sudo netselect -s 20 -t 40 $(wget -qO - mirrors.ubuntu.com/mirrors.txt)
12 http://ubuntu.uberglobalmirror.com/archive/
20 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/
21 http://ubuntu.mirror.digitalpacific.com.au/archive/
38 http://mirror.aarnet.edu.au/pub/ubuntu/archive/
39 http://mirror.overthewire.com.au/ubuntu/
45 http://mirror.internode.on.net/pub/ubuntu/ubuntu/
121 http://mirror.netspace.net.au/pub/ubuntu/
148 http://mirror.waia.asn.au/ubuntu/
152 http://mirror.as24220.net/pub/ubuntu-archive/
162 http://mirror.tcc.wa.edu.au/ubuntu/
664 http://archive.ubuntu.com/ubuntu/
664 http://archive.ubuntu.com/ubuntu/
3825 http://archive.ubuntu.com/ubuntu/
Only found 13 hosts out of 20 requested.
手动更改您的/etc/apt/sources.list
反映以上内容的文件netselect
结果或用途sed
命令,其中较低的分数在左侧表示较高的镜像传输速率。例:
$ sudo sed -i 's/http:\/\/us.archive.ubuntu.com\/ubuntu\//http:\/\/ubuntu.uberglobalmirror.com\/archive\//' /etc/apt/sources.list
比较结果
以下是我的apt-get update
位于澳大利亚境内的命令结果:
US MIRROR ( http://us.archive.ubuntu.com/ubuntu ):
Fetched 23.1 MB in 20s (1148 kB/s)
MIRROR protocol( mirror://mirrors.ubuntu.com/mirrors.txt):
Fetched 23.1 MB in 4min 45s (81.0 kB/s)
AU MIRROR ( http://au.archive.ubuntu.com/ubuntu ):
Fetched 23.1 MB in 12s (1788 kB/s)
NETSTAT Auto-Selected ( http://ubuntu.uberglobalmirror.com/archive ):
Fetched 23.1 MB in 6s (3544 kB/s)