当前位置: 首页>>技术教程>>正文


如何在Ubuntu Linux上选择最快的apt镜像

, ,
以下指南将为您提供有关如何通过选择最接近(即相对于您的地理位置而言可能是最快的镜像)来提高Ubuntu存储库下载速度的信息。

国家代码

最简单的方法是确保在/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

一旦有了netselectUbuntu系统上可用的命令可用于根据最低的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)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9003.html,未经允许,请勿转载。