Using some internal metrics, netselect
can tell you what mirror is “best” for you to use for downloading packages, or setting up your own mirror. netselect
uses icmp
to determine latency, and hop count between you and a mirror. It can take a list of many mirrors, tests them, and reports which one has the best (lowest) metric. If you want rsync
or ftp
as a preferred transport, you could change it to only look for one of those. Throw in a few verbose flags to get more output.
# netselect -s 20 `wget https://launchpad.net/ubuntu/+archivemirrors -q -O - | grep '>http' |cut -d / -f 3 | tr '\n' ' '`
3 mirror.tcpdiag.net
14 149.20.4.71
17 nz.archive.ubuntu.com
17 ftp.citylink.co.nz
17 mirrors.easynews.com
18 mirrors.nl.eu.kernel.org
18 ubuntu.securedservers.com
45 mirrors.cat.pdx.edu
58 mirror.peer1.net
67 mirror.pnl.gov
77 76.73.4.58
90 ubuntu.mirrors.tds.net
95 mirror.steadfast.net
100 ubuntu-archives.mirror.nexicom.net
102 mirrors.gigenet.com
105 mirrors.xmission.com
109 ubuntu.mirror.constant.com
115 mirror.cs.umn.edu
117 ubuntu.bhs.mirrors.ovh.net
120 mirrors.rit.edu
In this case it looks like mirror.tcpdiag.net is the best choice.
# ping -c 3 mirror.tcpdiag.net
PING mirror.tcpdiag.net (69.160.243.150) 56(84) bytes of data.
64 bytes from ip-69-160-243-150.static.atlanticmetro.net (69.160.243.150): icmp_req=1 ttl=59 time=3.11 ms
64 bytes from ip-69-160-243-150.static.atlanticmetro.net (69.160.243.150): icmp_req=2 ttl=59 time=2.85 ms
64 bytes from ip-69-160-243-150.static.atlanticmetro.net (69.160.243.150): icmp_req=3 ttl=59 time=3.27 ms
--- mirror.tcpdiag.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 2.852/3.081/3.275/0.185 ms
3ms is pretty close.