How do you select the fastest mirror from the command line?How can I search for the fastest update server on the command line?Is it better to use the UK or USA server?How to find fastest mirror from given list?Is there any way I can dynamically select a mirror that is closest to me?How can I get apt to use a mirror close to me, or choose a faster mirror?How to lower wait time for repository updatesMaking mirror://mirrors.ubuntu.com highly availableFailed to fetch http://us.archive.ubuntu.com/ubuntu/dists/lucid/main/source/Sources 404 Not Found [IP: 91.189.91.26 80]Could not connect to bd.archive.ubuntu.com:80 (116.193.170.18), connection timed outWhy can't I install lib32gcc1?How can I change repository mirror from commandline?Change software sources from the command lineThe fastest way to create a file from a terminalOpen the first (or any) file from command lineRestore default apt repositories in sources.list from command lineInstall ubuntu with the command lineSet the fastest mirror from preseedHow to mirror image files via command line?
What are the downsides of being a debt-free country (no foreign national debt)?
What does it mean to play in a mode?
How do I compile something for Linux if I don't have enough space for installing GCC?
How to analyse 'Element not Found' exceptions when working with Selenium
Car Possession being threatened by Signer
Talmud Bavli Sanhedrin 98b: an interpretation in a messianic sense of the figure of the "suffering servant" of Isaiah 52-53?
Why is casting a DATE field to VARCHAR datatype non-deterministic and is there a way to make it deterministic?
Is there a Scoville scale for coldness?
What is considered room temperature in Celsius?
Why do aircraft cockpit displays use uppercase fonts?
Why do we have to make the sign of the Cross physically?
What is the reason for difference between integer division and float to int conversion in python?
Is there a term for branding that is adaptive / modular which can be used to create brands and sub-brands?
Can a human colony survive on a 'hot' world?
My boss asked what number would keep me happy?
Should I replace fillable PDFs?
How to prevent discontent among the players when one player murders the others' characters?
Reimbursed more than my travel expenses for interview
Sleep for 1000 years
C - random password generator
Declining a paper review after accepting it and seeing the manuscript
Fourier transform is an isomorphism...but we don’t get when each frequency appears?
Mark at multiple positions
Why didn't the 6502 have increase/decrease opcodes for A?
How do you select the fastest mirror from the command line?
How can I search for the fastest update server on the command line?Is it better to use the UK or USA server?How to find fastest mirror from given list?Is there any way I can dynamically select a mirror that is closest to me?How can I get apt to use a mirror close to me, or choose a faster mirror?How to lower wait time for repository updatesMaking mirror://mirrors.ubuntu.com highly availableFailed to fetch http://us.archive.ubuntu.com/ubuntu/dists/lucid/main/source/Sources 404 Not Found [IP: 91.189.91.26 80]Could not connect to bd.archive.ubuntu.com:80 (116.193.170.18), connection timed outWhy can't I install lib32gcc1?How can I change repository mirror from commandline?Change software sources from the command lineThe fastest way to create a file from a terminalOpen the first (or any) file from command lineRestore default apt repositories in sources.list from command lineInstall ubuntu with the command lineSet the fastest mirror from preseedHow to mirror image files via command line?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty
margin-bottom:0;
I want to update my sources.list file with the fastest server from the command line in a fresh Ubuntu Server install. I know this is trivially easy with the GUI, but there doesn't seem to be a simple way to do it from from the command line?
command-line apt repository
add a comment
|
I want to update my sources.list file with the fastest server from the command line in a fresh Ubuntu Server install. I know this is trivially easy with the GUI, but there doesn't seem to be a simple way to do it from from the command line?
command-line apt repository
3
In regular expressions, the . character means any character. If you want it to match a ., you need to escape it with , so us.archive[..] should be us.archive[..]
– Egil
May 4 '11 at 7:13
Related: askubuntu.com/questions/37753/…
– Jorge Castro
Apr 6 '12 at 19:13
2
In my case I had to replace the#signs with slashes (/). Otherwise I gotsed: -e expression #1, char 53: unterminateds' command`.
– Ethan Leroy
Oct 18 '13 at 21:18
@EthanLeroy same here with Ubuntu 12.04.3
– logoff
Jan 10 '14 at 11:44
Should be slash not hash.
– Matt H
May 19 '14 at 22:20
add a comment
|
I want to update my sources.list file with the fastest server from the command line in a fresh Ubuntu Server install. I know this is trivially easy with the GUI, but there doesn't seem to be a simple way to do it from from the command line?
command-line apt repository
I want to update my sources.list file with the fastest server from the command line in a fresh Ubuntu Server install. I know this is trivially easy with the GUI, but there doesn't seem to be a simple way to do it from from the command line?
command-line apt repository
command-line apt repository
edited May 7 '18 at 10:11
k0pernikus
4,3586 gold badges37 silver badges67 bronze badges
4,3586 gold badges37 silver badges67 bronze badges
asked May 4 '11 at 6:35
EvanEvan
2,8855 gold badges24 silver badges23 bronze badges
2,8855 gold badges24 silver badges23 bronze badges
3
In regular expressions, the . character means any character. If you want it to match a ., you need to escape it with , so us.archive[..] should be us.archive[..]
– Egil
May 4 '11 at 7:13
Related: askubuntu.com/questions/37753/…
– Jorge Castro
Apr 6 '12 at 19:13
2
In my case I had to replace the#signs with slashes (/). Otherwise I gotsed: -e expression #1, char 53: unterminateds' command`.
– Ethan Leroy
Oct 18 '13 at 21:18
@EthanLeroy same here with Ubuntu 12.04.3
– logoff
Jan 10 '14 at 11:44
Should be slash not hash.
– Matt H
May 19 '14 at 22:20
add a comment
|
3
In regular expressions, the . character means any character. If you want it to match a ., you need to escape it with , so us.archive[..] should be us.archive[..]
– Egil
May 4 '11 at 7:13
Related: askubuntu.com/questions/37753/…
– Jorge Castro
Apr 6 '12 at 19:13
2
In my case I had to replace the#signs with slashes (/). Otherwise I gotsed: -e expression #1, char 53: unterminateds' command`.
– Ethan Leroy
Oct 18 '13 at 21:18
@EthanLeroy same here with Ubuntu 12.04.3
– logoff
Jan 10 '14 at 11:44
Should be slash not hash.
– Matt H
May 19 '14 at 22:20
3
3
In regular expressions, the . character means any character. If you want it to match a ., you need to escape it with , so us.archive[..] should be us.archive[..]
– Egil
May 4 '11 at 7:13
In regular expressions, the . character means any character. If you want it to match a ., you need to escape it with , so us.archive[..] should be us.archive[..]
– Egil
May 4 '11 at 7:13
Related: askubuntu.com/questions/37753/…
– Jorge Castro
Apr 6 '12 at 19:13
Related: askubuntu.com/questions/37753/…
– Jorge Castro
Apr 6 '12 at 19:13
2
2
In my case I had to replace the
# signs with slashes (/). Otherwise I got sed: -e expression #1, char 53: unterminated s' command`.– Ethan Leroy
Oct 18 '13 at 21:18
In my case I had to replace the
# signs with slashes (/). Otherwise I got sed: -e expression #1, char 53: unterminated s' command`.– Ethan Leroy
Oct 18 '13 at 21:18
@EthanLeroy same here with Ubuntu 12.04.3
– logoff
Jan 10 '14 at 11:44
@EthanLeroy same here with Ubuntu 12.04.3
– logoff
Jan 10 '14 at 11:44
Should be slash not hash.
– Matt H
May 19 '14 at 22:20
Should be slash not hash.
– Matt H
May 19 '14 at 22:20
add a comment
|
13 Answers
13
active
oldest
votes
Pakket netselect-apt
dapper (net): Choose the fastest Debian mirror with netselect
[universe]
0.3.ds1-5: all
hardy (net): Choose the fastest Debian mirror with netselect
[universe]
0.3.ds1-11: all
Pakket apt-spy
dapper (admin): writes a sources.list file based on bandwidth tests
[universe]
3.1-14: amd64 i386 powerpc
Not included in newer Ubuntu due to secturity issues it seems: see: Bug report
But .. I normally just use ping to find out the speed of a connection to some location. Amount of hops and latency.
4
netselect-apt doesn't seem to be available in Ubuntu 12.04
– offby1
Nov 6 '13 at 23:22
correct: see here bugs.launchpad.net/ubuntu/+source/netselect/+bug/337377
– Rinzwind
Nov 7 '13 at 7:41
8
This is not the most upvoted, or the best answer any more, check next one
– ntg
Jun 10 '15 at 7:54
Which answer is the "next one" might have changed.
– gmatht
Jan 24 '17 at 4:46
apt-spy is gone at debian 9, but netselect-apt is OK
– netawater
Nov 21 '17 at 16:05
|
show 3 more comments
You don't have to do any searching anymore - as ajmitch has explained, you can use deb mirror to have the best mirror picked for you automatically.
apt-get now supports a 'mirror' method that will automatically select a good mirror based on your location. Putting:
deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse
on the top in your
/etc/apt/sources.listfile should be all that is needed to make it automatically pick a mirror for you based on your geographical location.
Lucid (10.04), Maverick (10.10), Natty (11.04), and Oneiric (11.10) users can replace
precisewith the appropriate name.
Great tip. Just note that after making the change you need to runsudo apt-get updatebefore doing anyapt-get installfor it to use your closest mirror.
– Simon East
Jun 29 '13 at 17:03
2
Related: askubuntu.com/q/319433/11244
– Till
Jul 18 '13 at 15:45
24
Nice tip, but unhelpful in my case. It works on geolocation, giving me the local server, which is waaaayy slower where I am. The network temporal distance is the important factor here, not spatial distance.
– jarondl
Jul 31 '13 at 8:24
1
currently broken: bugs.launchpad.net/ubuntu/+source/apt/+bug/1613184
– marathon
Aug 31 '17 at 18:34
1
@marathon fixed at least on 18.04+
– Pablo A
Mar 25 at 19:06
|
show 1 more comment
Here's one way that will always work, using good old netselect and some grep magic:
The terminal-addict's "find best server" hack!
- Download and
dpkg -inetselectfor your architecture from the Debian website. (it's about 125 KB, no dependencies) Find the fastest Ubuntu mirrors from your location, either up-to-date or at most six hours behind with this (I'll explain it below, sorry it doesn't split up nicely in Markdown)
sudo netselect -v -s10 -t20 `wget -q -O- https://launchpad.net/ubuntu/+archivemirrors | grep -P -B8 "statusUP|statusSIX" | grep -o -P "(f|ht)tp://[^"]*"`
netselect:-vmakes it a little verbose -- you want to see progress dots and messages telling you different mirrors mapping to the same IP were merged :)-sNcontrols how many mirrors you want at the end (e.g. top 10 mirrors)-tNis how long each mirror is speed-tested (default is 10; the higher the number, the longer it takes but the more reliable the results.)
This is the backquotes stuff (don't paste, just for explanation)
wget -q -O- https://launchpad.net/ubuntu/+archivemirrors
| grep -P -B8 "status(UP|SIX)"
| grep -o -P "(f|ht)tp://[^"]*"wgetpulls the latest mirror status from https://launchpad.net/ubuntu/+archivemirrors.- The first
grepextracts mirrors that are up-to-date or six-hours behind, along with 8 lines of previous context which includes the actual ftp/http URLs - The second
grepextracts these ftp/http URLs
Here's a sample output from California, USA:
60 ftp://mirrors.se.eu.kernel.org/ubuntu/
70 http://ubuntu.alex-vichev.info/
77 http://ftp.citylink.co.nz/ubuntu/
279 http://ubuntu.mirrors.tds.net/pub/ubuntu/
294 http://mirror.umd.edu/ubuntu/
332 http://mirrors.rit.edu/ubuntu/
364 ftp://pf.archive.ubuntu.com/ubuntu/
378 http://mirror.csclub.uwaterloo.ca/ubuntu/
399 ftp://ubuntu.mirror.frontiernet.net/ubuntu/
455 http://ubuntu.mirror.root.lu/ubuntu/- The "ranks" are an arbitrary metric; lower is usually better.
- If you're wondering why the kernel.org Sweden-EU mirror and an NZ mirror are in the top three from California, well, so am I ;-) The truth is that
netselectdoesn't always choose the most appropriate URL to display when multiple mirrors map to a single IP; number 3 is also known asnz.archive.ubuntu.com!
9
netselect picks mirrors that have low udp or icmp latency. It doesn't necessarily pick mirrors that can give more bandwidth.
– Tobu
Oct 13 '13 at 19:40
@pix I approved your edit, but it's not command substitution that results in newlines being replaced. It's the subsequent field splitting that removed the newlines. Command substitution only removes trailing newlines.
– muru
Feb 21 '17 at 9:23
add a comment
|
Oneliner that select best (by download speed) mirror based on mirrors.ubuntu.com for yours ip.
curl -s http://mirrors.ubuntu.com/mirrors.txt | xargs -n1 -I sh -c 'echo `curl -r 0-102400 -s -w %speed_download -o /dev/null /ls-lR.gz` ' |sort -g -r |head -1| awk ' print $2 '
2
To have more options replace at the end:sort -gr | head -3.
– Pablo A
Mar 4 '17 at 1:55
1
Currently,curl -s http://mirrors.ubuntu.com/mirrors.txtreturns only one line:http://archive.ubuntu.com/ubuntu/which defeats the purpose of choosing among several. :-/
– Stéphane Gourichon
Jun 26 '17 at 13:35
yes, so this method is NG.
– netawater
Nov 18 '17 at 4:58
I found thecurlpart of this answer helpful becausecurl -r 0-102400 -o /dev/null [server_url]/ls-lR.gzwhere[server_url]is the base mirror URL listed inmirrors.txt, allows a speed comparison of the first ~100K of the index file from the mirror.
– jamesc
Mar 12 '18 at 12:57
This tests transfer speed, which is definitely an improvement over netselect. It's only downloading 10k from each server, which may not be a great representation of steady transfer speed on faster connections, though. Increase that 102400 to test with a larger download
– Phil Miller
Jun 8 '18 at 21:41
add a comment
|
Here is a Python script I wrote that finds mirrors with the lowest TCP latency.
The script also provides bandwidth and status data taken from launchpad, and will generate a new sources.list file automatically or using a mirror chosen from a list.
A usage example that lets you choose from 5 US mirrors with the lowest latency to your machine:
$ apt-select --country US -t 5 --choose
5
I want to let you know that I've made a debian package with your script that is ready to be used in a very easy and straightforward way: github.com/brodock/apt-select/releases/tag/0.1.0
– Gabriel Mazetto
Nov 3 '15 at 4:25
this is a perfect solution, as I've tried the other methods. to make noob friendly, I've written a post detailing this method:. blog.kmonsoor.com/…
– kmonsoor
Oct 11 '16 at 19:14
This is great, sincenetselectisn't available in newer versions of Ubuntu
– Tek
Feb 18 '18 at 7:23
Please show how to use it in your post
– Jonathan
Oct 31 '18 at 6:21
@Jonathan done. Full usage is in theREADMEat the first link.
– John B
Nov 1 '18 at 0:07
add a comment
|
I developed a simple ping-based nodejs script that tests the servers listed on mirrors.ubuntu.com/mirrors.txt and returns the fastest one:
sudo npm install -g ffum
ffum
Please let me know if you find it useful or have any suggestions (=
ffum does not work: Connection error.
– James Fu
Jul 10 '13 at 8:48
It doesn't work: Empty output.
– Juan Simón
Aug 27 '13 at 1:06
git clonethe repo and runnode ffum
– Michael
Aug 7 '14 at 3:58
Awesome, works for me! I had a bug where it was looking for node instead of nodejs... also would be cool to have some verbose of each tested archive speed.
– tweak2
Aug 27 '14 at 16:57
add a comment
|
I know this doesn't directly answer the OP's question, but there's a button in the desktop/GUI version of Ubuntu that finds the best mirror for you. It seemed to work pretty well, so I looked into it briefly, but didn't have time to follow up.
The reason I bring it up is because I think it would be pretty straight forward and usable to make it into a command line utility.
If anyone is interested, the test seems to be located in:
/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
Again, that's about as far as I got, but I figured I'd leave this here in case anyone wanted it. I'll probably pick back up on it when I have a little more time.
On 18.04, this script detects when it is invoked as an application (as main) from a terminal....and just prints its results to the terminal. Make sure to give it enough time to complete.$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py>>[top 5 omitted] and the winner is: ny-mirrors.evowise.com
– PatKilg
Jun 9 '18 at 18:07
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:20
add a comment
|
Command That Finds Fast Mirrors
On Ubuntu 18.04 I got good results by running
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
That prints a list of mirrors organized by "time" (not explained), and then I used one of the mirrors it ranked highest.
More Details
For me, it was useful to test a few of the top results output by that command by setting them as my mirror in /etc/apt/sources.list and then doing
time sudo apt update
to see how long it took to download the package list from that mirror. I tested the top three suggestions and they were all fast, but one of them was twice as fast as the other two in the time sudo apt update test.
Here's an example output from python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py:
mirror: es-mirrors.evowise.com - time: 0.183778047562
mirror: it-mirrors.evowise.com - time: 0.18604683876
mirror: la-mirrors.evowise.com - time: 0.192630052567
mirror: ny-mirrors.evowise.com - time: 0.208723068237
mirror: mirrors.accretive-networks.net - time: 0.385910987854
mirror: mirror.team-cymru.org - time: 0.46785402298
mirror: mirrors.psu.ac.th - time: 1.64231991768
and the winner is: es-mirrors.evowise.com
1
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:14
add a comment
|
For the command line, you can use a Python tool called apt-smart
A usage example that lets you list ranked mirrors within your country (automatically detect):
$ apt-smart -l
With -l, or --list-mirrors, you will get ( example output from Travis CI U.S. server ):
---------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
---------------------------------------------------------------------------------------------------------
| 1 | http://mirrors.gigenet.com/ubuntua... | Yes | No | Up to date | 1.73 MB/s |
| 2 | http://mirror.genesisadaptive.com/... | Yes | No | Up to date | 1.68 MB/s |
| 3 | http://ubuntu.mirrors.tds.net/pub/... | Yes | No | Up to date | 1.4 MB/s |
| 4 | http://repos.forethought.net/ubuntu | Yes | No | Up to date | 1.35 MB/s |
| 5 | http://repo.miserver.it.umich.edu/... | Yes | No | Up to date | 937.62 KB/s |
...
| 75 | http://mirror.cc.vt.edu/pub2/ubuntu | Yes | No | 1 day behind | 659.67 KB/s |
| 76 | http://mirror.atlantic.net/ubuntu | Yes | No | 2 days behind | 351.26 KB/s |
| 77 | http://mirror.lstn.net/ubuntu | Yes | No | 4 days behind | 806.81 KB/s |
| 78 | http://mirrors.usinternet.com/ubun... | Yes | No | 4 weeks behind | 514.31 KB/s |
| 79 | http://mirrors.arpnetworks.com/Ubuntu | Yes | No | 19 weeks behind | 418.94 KB/s |
| 80 | http://mirrors.ocf.berkeley.edu/ub... | Yes | Yes | Up to date | 446.07 KB/s |
---------------------------------------------------------------------------------------------------------
Full URLs which are too long to be shown in above table:
1: http://mirrors.gigenet.com/ubuntuarchive
2: http://mirror.genesisadaptive.com/ubuntu
3: http://ubuntu.mirrors.tds.net/pub/ubuntu
5: http://repo.miserver.it.umich.edu/ubuntu
...
78: http://mirrors.usinternet.com/ubuntu/archive
80: http://mirrors.ocf.berkeley.edu/ubuntu
Of course, apt-smart can also change your sources.list if you want to:
$ apt-smart -a
With -a , or --auto-change-mirror to discover available mirrors, rank the mirrors by connection speed and update status and update /etc/apt/sources.list to use the best available mirror.
With -c , or --change-mirror MIRROR_URL to update /etc/apt/sources.list to use the given MIRROR_URL.
Compared with other tools:
apt-smartautomatically finds where you are so you don't need to specify the country when you travel abroad.apt-smartdoes real HTTP download from each mirror to get more accurate results ( bandwidth & status ) and supports HTTP proxy, rather than usingpingand relying on launchpad 's inaccurate data.apt-smartis being maintained, whereas most other tools leave issues unfix for a long time.
You can easily install apt-smart via pip, for detailed copy'n'paste install commands and usages please see Project Readme.
This works great! "pip install apt-smart" to install it.
– Andy Fraley
Nov 1 at 1:57
@Andy Fraley Thank you for commenting. If you are lucky enough, you can install apt-smart simply bypip install apt-smartand runapt-smartwithout any errors. But sometimes in some environments it might says 'apt-smart' command not found, or any other errors. It is not a bug of apt-smart but it is something of pip or Ubuntu system environment, and talking about it will be a long story. So the recommend way to install it is to follow the install commands in Project Readme, which is clear and can be copy'n'paste as a whole into terminal.
– Martin X
Nov 3 at 4:03
add a comment
|
I use the following to auto select mirrors (and disable deb-src)
sudo sed -i -e 's%http://archive.ubuntu.com/ubuntu%mirror://mirrors.ubuntu.com/mirrors.txt%' -e 's/^deb-src/#deb-src/' /etc/apt/sources.list
add a comment
|
If you want a utility to do this you could implement such a utility as a simple bash script like the following. This might be useful if you want to use the utility without needing pip/nodejs.
#!/bin/bash
if [ -z "$1" ]
then
echo Usage: sudo $0 http://mirrors.ubuntu.com/mirrors.txt
echo OR consider one of...
for mirror in `wget http://mirrors.ubuntu.com/mirrors.txt -O - 2> /dev/null`
do
(
host=`echo $mirror |sed s,.*//,,|sed s,/.*,,`
echo -e `ping $host -c1 | grep time=|sed s,.*time=,,`:' tt'$mirror
) &
done
wait
exit 1
fi
OLD_SOURCE=`cat /etc/apt/sources.list | grep ^deb | head -n1 | cut -d -f2`
[ -e /etc/apt/sources.list.orig ] || cp /etc/apt/sources.list /etc/apt/sources.list.orig
cp /etc/apt/sources.list /etc/apt/sources.list.tmp
sed "s,$OLD_SOURCE,$1," < /etc/apt/sources.list.tmp > /etc/apt/sources.list
add a comment
|
The other answers, including the accepted answer, are no longer valid (for Ubuntu 11.04 and newer) because they recommended Debian packages such as netselect-apt and apt-spy which do not work with Ubuntu.
There are two different working answers to this question below:
Use apt-get'smirror:method
This method asks the Ubuntu server for a list of mirrors near you based on your IP, and selects one of them. The easiest alternative, with the minor downside that sometimes the closest mirror may not be the fastest.
Command-line foo using netselect
Shows you how to use the netselect tool to find the fastest recently updated servers from you -- network-wise, not geographically. Usesedto replace mirrors insources.list.
Use sed to replace mirrors in sources.list
Since some sources use addition folders as part of their path it might be better to use the alternate separator syntax.
sudo sed -i 's%us.archive.ubuntu.com%mirrors.gigenet.com/ubuntuarchive/%' /etc/apt/sources.list
add a comment
|
The easiest and efficient way to get the fastest mirror is to use the apt mirror:// source, see
https://mvogt.wordpress.com/2011/03/21/the-apt-mirror-method/
add a comment
|
13 Answers
13
active
oldest
votes
13 Answers
13
active
oldest
votes
active
oldest
votes
active
oldest
votes
Pakket netselect-apt
dapper (net): Choose the fastest Debian mirror with netselect
[universe]
0.3.ds1-5: all
hardy (net): Choose the fastest Debian mirror with netselect
[universe]
0.3.ds1-11: all
Pakket apt-spy
dapper (admin): writes a sources.list file based on bandwidth tests
[universe]
3.1-14: amd64 i386 powerpc
Not included in newer Ubuntu due to secturity issues it seems: see: Bug report
But .. I normally just use ping to find out the speed of a connection to some location. Amount of hops and latency.
4
netselect-apt doesn't seem to be available in Ubuntu 12.04
– offby1
Nov 6 '13 at 23:22
correct: see here bugs.launchpad.net/ubuntu/+source/netselect/+bug/337377
– Rinzwind
Nov 7 '13 at 7:41
8
This is not the most upvoted, or the best answer any more, check next one
– ntg
Jun 10 '15 at 7:54
Which answer is the "next one" might have changed.
– gmatht
Jan 24 '17 at 4:46
apt-spy is gone at debian 9, but netselect-apt is OK
– netawater
Nov 21 '17 at 16:05
|
show 3 more comments
Pakket netselect-apt
dapper (net): Choose the fastest Debian mirror with netselect
[universe]
0.3.ds1-5: all
hardy (net): Choose the fastest Debian mirror with netselect
[universe]
0.3.ds1-11: all
Pakket apt-spy
dapper (admin): writes a sources.list file based on bandwidth tests
[universe]
3.1-14: amd64 i386 powerpc
Not included in newer Ubuntu due to secturity issues it seems: see: Bug report
But .. I normally just use ping to find out the speed of a connection to some location. Amount of hops and latency.
4
netselect-apt doesn't seem to be available in Ubuntu 12.04
– offby1
Nov 6 '13 at 23:22
correct: see here bugs.launchpad.net/ubuntu/+source/netselect/+bug/337377
– Rinzwind
Nov 7 '13 at 7:41
8
This is not the most upvoted, or the best answer any more, check next one
– ntg
Jun 10 '15 at 7:54
Which answer is the "next one" might have changed.
– gmatht
Jan 24 '17 at 4:46
apt-spy is gone at debian 9, but netselect-apt is OK
– netawater
Nov 21 '17 at 16:05
|
show 3 more comments
Pakket netselect-apt
dapper (net): Choose the fastest Debian mirror with netselect
[universe]
0.3.ds1-5: all
hardy (net): Choose the fastest Debian mirror with netselect
[universe]
0.3.ds1-11: all
Pakket apt-spy
dapper (admin): writes a sources.list file based on bandwidth tests
[universe]
3.1-14: amd64 i386 powerpc
Not included in newer Ubuntu due to secturity issues it seems: see: Bug report
But .. I normally just use ping to find out the speed of a connection to some location. Amount of hops and latency.
Pakket netselect-apt
dapper (net): Choose the fastest Debian mirror with netselect
[universe]
0.3.ds1-5: all
hardy (net): Choose the fastest Debian mirror with netselect
[universe]
0.3.ds1-11: all
Pakket apt-spy
dapper (admin): writes a sources.list file based on bandwidth tests
[universe]
3.1-14: amd64 i386 powerpc
Not included in newer Ubuntu due to secturity issues it seems: see: Bug report
But .. I normally just use ping to find out the speed of a connection to some location. Amount of hops and latency.
answered May 4 '11 at 7:07
RinzwindRinzwind
228k30 gold badges440 silver badges584 bronze badges
228k30 gold badges440 silver badges584 bronze badges
4
netselect-apt doesn't seem to be available in Ubuntu 12.04
– offby1
Nov 6 '13 at 23:22
correct: see here bugs.launchpad.net/ubuntu/+source/netselect/+bug/337377
– Rinzwind
Nov 7 '13 at 7:41
8
This is not the most upvoted, or the best answer any more, check next one
– ntg
Jun 10 '15 at 7:54
Which answer is the "next one" might have changed.
– gmatht
Jan 24 '17 at 4:46
apt-spy is gone at debian 9, but netselect-apt is OK
– netawater
Nov 21 '17 at 16:05
|
show 3 more comments
4
netselect-apt doesn't seem to be available in Ubuntu 12.04
– offby1
Nov 6 '13 at 23:22
correct: see here bugs.launchpad.net/ubuntu/+source/netselect/+bug/337377
– Rinzwind
Nov 7 '13 at 7:41
8
This is not the most upvoted, or the best answer any more, check next one
– ntg
Jun 10 '15 at 7:54
Which answer is the "next one" might have changed.
– gmatht
Jan 24 '17 at 4:46
apt-spy is gone at debian 9, but netselect-apt is OK
– netawater
Nov 21 '17 at 16:05
4
4
netselect-apt doesn't seem to be available in Ubuntu 12.04
– offby1
Nov 6 '13 at 23:22
netselect-apt doesn't seem to be available in Ubuntu 12.04
– offby1
Nov 6 '13 at 23:22
correct: see here bugs.launchpad.net/ubuntu/+source/netselect/+bug/337377
– Rinzwind
Nov 7 '13 at 7:41
correct: see here bugs.launchpad.net/ubuntu/+source/netselect/+bug/337377
– Rinzwind
Nov 7 '13 at 7:41
8
8
This is not the most upvoted, or the best answer any more, check next one
– ntg
Jun 10 '15 at 7:54
This is not the most upvoted, or the best answer any more, check next one
– ntg
Jun 10 '15 at 7:54
Which answer is the "next one" might have changed.
– gmatht
Jan 24 '17 at 4:46
Which answer is the "next one" might have changed.
– gmatht
Jan 24 '17 at 4:46
apt-spy is gone at debian 9, but netselect-apt is OK
– netawater
Nov 21 '17 at 16:05
apt-spy is gone at debian 9, but netselect-apt is OK
– netawater
Nov 21 '17 at 16:05
|
show 3 more comments
You don't have to do any searching anymore - as ajmitch has explained, you can use deb mirror to have the best mirror picked for you automatically.
apt-get now supports a 'mirror' method that will automatically select a good mirror based on your location. Putting:
deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse
on the top in your
/etc/apt/sources.listfile should be all that is needed to make it automatically pick a mirror for you based on your geographical location.
Lucid (10.04), Maverick (10.10), Natty (11.04), and Oneiric (11.10) users can replace
precisewith the appropriate name.
Great tip. Just note that after making the change you need to runsudo apt-get updatebefore doing anyapt-get installfor it to use your closest mirror.
– Simon East
Jun 29 '13 at 17:03
2
Related: askubuntu.com/q/319433/11244
– Till
Jul 18 '13 at 15:45
24
Nice tip, but unhelpful in my case. It works on geolocation, giving me the local server, which is waaaayy slower where I am. The network temporal distance is the important factor here, not spatial distance.
– jarondl
Jul 31 '13 at 8:24
1
currently broken: bugs.launchpad.net/ubuntu/+source/apt/+bug/1613184
– marathon
Aug 31 '17 at 18:34
1
@marathon fixed at least on 18.04+
– Pablo A
Mar 25 at 19:06
|
show 1 more comment
You don't have to do any searching anymore - as ajmitch has explained, you can use deb mirror to have the best mirror picked for you automatically.
apt-get now supports a 'mirror' method that will automatically select a good mirror based on your location. Putting:
deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse
on the top in your
/etc/apt/sources.listfile should be all that is needed to make it automatically pick a mirror for you based on your geographical location.
Lucid (10.04), Maverick (10.10), Natty (11.04), and Oneiric (11.10) users can replace
precisewith the appropriate name.
Great tip. Just note that after making the change you need to runsudo apt-get updatebefore doing anyapt-get installfor it to use your closest mirror.
– Simon East
Jun 29 '13 at 17:03
2
Related: askubuntu.com/q/319433/11244
– Till
Jul 18 '13 at 15:45
24
Nice tip, but unhelpful in my case. It works on geolocation, giving me the local server, which is waaaayy slower where I am. The network temporal distance is the important factor here, not spatial distance.
– jarondl
Jul 31 '13 at 8:24
1
currently broken: bugs.launchpad.net/ubuntu/+source/apt/+bug/1613184
– marathon
Aug 31 '17 at 18:34
1
@marathon fixed at least on 18.04+
– Pablo A
Mar 25 at 19:06
|
show 1 more comment
You don't have to do any searching anymore - as ajmitch has explained, you can use deb mirror to have the best mirror picked for you automatically.
apt-get now supports a 'mirror' method that will automatically select a good mirror based on your location. Putting:
deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse
on the top in your
/etc/apt/sources.listfile should be all that is needed to make it automatically pick a mirror for you based on your geographical location.
Lucid (10.04), Maverick (10.10), Natty (11.04), and Oneiric (11.10) users can replace
precisewith the appropriate name.
You don't have to do any searching anymore - as ajmitch has explained, you can use deb mirror to have the best mirror picked for you automatically.
apt-get now supports a 'mirror' method that will automatically select a good mirror based on your location. Putting:
deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse
on the top in your
/etc/apt/sources.listfile should be all that is needed to make it automatically pick a mirror for you based on your geographical location.
Lucid (10.04), Maverick (10.10), Natty (11.04), and Oneiric (11.10) users can replace
precisewith the appropriate name.
edited Apr 13 '17 at 12:25
Community♦
1
1
answered Oct 23 '10 at 10:31
badpbadp
9,59212 gold badges38 silver badges52 bronze badges
9,59212 gold badges38 silver badges52 bronze badges
Great tip. Just note that after making the change you need to runsudo apt-get updatebefore doing anyapt-get installfor it to use your closest mirror.
– Simon East
Jun 29 '13 at 17:03
2
Related: askubuntu.com/q/319433/11244
– Till
Jul 18 '13 at 15:45
24
Nice tip, but unhelpful in my case. It works on geolocation, giving me the local server, which is waaaayy slower where I am. The network temporal distance is the important factor here, not spatial distance.
– jarondl
Jul 31 '13 at 8:24
1
currently broken: bugs.launchpad.net/ubuntu/+source/apt/+bug/1613184
– marathon
Aug 31 '17 at 18:34
1
@marathon fixed at least on 18.04+
– Pablo A
Mar 25 at 19:06
|
show 1 more comment
Great tip. Just note that after making the change you need to runsudo apt-get updatebefore doing anyapt-get installfor it to use your closest mirror.
– Simon East
Jun 29 '13 at 17:03
2
Related: askubuntu.com/q/319433/11244
– Till
Jul 18 '13 at 15:45
24
Nice tip, but unhelpful in my case. It works on geolocation, giving me the local server, which is waaaayy slower where I am. The network temporal distance is the important factor here, not spatial distance.
– jarondl
Jul 31 '13 at 8:24
1
currently broken: bugs.launchpad.net/ubuntu/+source/apt/+bug/1613184
– marathon
Aug 31 '17 at 18:34
1
@marathon fixed at least on 18.04+
– Pablo A
Mar 25 at 19:06
Great tip. Just note that after making the change you need to run
sudo apt-get update before doing any apt-get install for it to use your closest mirror.– Simon East
Jun 29 '13 at 17:03
Great tip. Just note that after making the change you need to run
sudo apt-get update before doing any apt-get install for it to use your closest mirror.– Simon East
Jun 29 '13 at 17:03
2
2
Related: askubuntu.com/q/319433/11244
– Till
Jul 18 '13 at 15:45
Related: askubuntu.com/q/319433/11244
– Till
Jul 18 '13 at 15:45
24
24
Nice tip, but unhelpful in my case. It works on geolocation, giving me the local server, which is waaaayy slower where I am. The network temporal distance is the important factor here, not spatial distance.
– jarondl
Jul 31 '13 at 8:24
Nice tip, but unhelpful in my case. It works on geolocation, giving me the local server, which is waaaayy slower where I am. The network temporal distance is the important factor here, not spatial distance.
– jarondl
Jul 31 '13 at 8:24
1
1
currently broken: bugs.launchpad.net/ubuntu/+source/apt/+bug/1613184
– marathon
Aug 31 '17 at 18:34
currently broken: bugs.launchpad.net/ubuntu/+source/apt/+bug/1613184
– marathon
Aug 31 '17 at 18:34
1
1
@marathon fixed at least on 18.04+
– Pablo A
Mar 25 at 19:06
@marathon fixed at least on 18.04+
– Pablo A
Mar 25 at 19:06
|
show 1 more comment
Here's one way that will always work, using good old netselect and some grep magic:
The terminal-addict's "find best server" hack!
- Download and
dpkg -inetselectfor your architecture from the Debian website. (it's about 125 KB, no dependencies) Find the fastest Ubuntu mirrors from your location, either up-to-date or at most six hours behind with this (I'll explain it below, sorry it doesn't split up nicely in Markdown)
sudo netselect -v -s10 -t20 `wget -q -O- https://launchpad.net/ubuntu/+archivemirrors | grep -P -B8 "statusUP|statusSIX" | grep -o -P "(f|ht)tp://[^"]*"`
netselect:-vmakes it a little verbose -- you want to see progress dots and messages telling you different mirrors mapping to the same IP were merged :)-sNcontrols how many mirrors you want at the end (e.g. top 10 mirrors)-tNis how long each mirror is speed-tested (default is 10; the higher the number, the longer it takes but the more reliable the results.)
This is the backquotes stuff (don't paste, just for explanation)
wget -q -O- https://launchpad.net/ubuntu/+archivemirrors
| grep -P -B8 "status(UP|SIX)"
| grep -o -P "(f|ht)tp://[^"]*"wgetpulls the latest mirror status from https://launchpad.net/ubuntu/+archivemirrors.- The first
grepextracts mirrors that are up-to-date or six-hours behind, along with 8 lines of previous context which includes the actual ftp/http URLs - The second
grepextracts these ftp/http URLs
Here's a sample output from California, USA:
60 ftp://mirrors.se.eu.kernel.org/ubuntu/
70 http://ubuntu.alex-vichev.info/
77 http://ftp.citylink.co.nz/ubuntu/
279 http://ubuntu.mirrors.tds.net/pub/ubuntu/
294 http://mirror.umd.edu/ubuntu/
332 http://mirrors.rit.edu/ubuntu/
364 ftp://pf.archive.ubuntu.com/ubuntu/
378 http://mirror.csclub.uwaterloo.ca/ubuntu/
399 ftp://ubuntu.mirror.frontiernet.net/ubuntu/
455 http://ubuntu.mirror.root.lu/ubuntu/- The "ranks" are an arbitrary metric; lower is usually better.
- If you're wondering why the kernel.org Sweden-EU mirror and an NZ mirror are in the top three from California, well, so am I ;-) The truth is that
netselectdoesn't always choose the most appropriate URL to display when multiple mirrors map to a single IP; number 3 is also known asnz.archive.ubuntu.com!
9
netselect picks mirrors that have low udp or icmp latency. It doesn't necessarily pick mirrors that can give more bandwidth.
– Tobu
Oct 13 '13 at 19:40
@pix I approved your edit, but it's not command substitution that results in newlines being replaced. It's the subsequent field splitting that removed the newlines. Command substitution only removes trailing newlines.
– muru
Feb 21 '17 at 9:23
add a comment
|
Here's one way that will always work, using good old netselect and some grep magic:
The terminal-addict's "find best server" hack!
- Download and
dpkg -inetselectfor your architecture from the Debian website. (it's about 125 KB, no dependencies) Find the fastest Ubuntu mirrors from your location, either up-to-date or at most six hours behind with this (I'll explain it below, sorry it doesn't split up nicely in Markdown)
sudo netselect -v -s10 -t20 `wget -q -O- https://launchpad.net/ubuntu/+archivemirrors | grep -P -B8 "statusUP|statusSIX" | grep -o -P "(f|ht)tp://[^"]*"`
netselect:-vmakes it a little verbose -- you want to see progress dots and messages telling you different mirrors mapping to the same IP were merged :)-sNcontrols how many mirrors you want at the end (e.g. top 10 mirrors)-tNis how long each mirror is speed-tested (default is 10; the higher the number, the longer it takes but the more reliable the results.)
This is the backquotes stuff (don't paste, just for explanation)
wget -q -O- https://launchpad.net/ubuntu/+archivemirrors
| grep -P -B8 "status(UP|SIX)"
| grep -o -P "(f|ht)tp://[^"]*"wgetpulls the latest mirror status from https://launchpad.net/ubuntu/+archivemirrors.- The first
grepextracts mirrors that are up-to-date or six-hours behind, along with 8 lines of previous context which includes the actual ftp/http URLs - The second
grepextracts these ftp/http URLs
Here's a sample output from California, USA:
60 ftp://mirrors.se.eu.kernel.org/ubuntu/
70 http://ubuntu.alex-vichev.info/
77 http://ftp.citylink.co.nz/ubuntu/
279 http://ubuntu.mirrors.tds.net/pub/ubuntu/
294 http://mirror.umd.edu/ubuntu/
332 http://mirrors.rit.edu/ubuntu/
364 ftp://pf.archive.ubuntu.com/ubuntu/
378 http://mirror.csclub.uwaterloo.ca/ubuntu/
399 ftp://ubuntu.mirror.frontiernet.net/ubuntu/
455 http://ubuntu.mirror.root.lu/ubuntu/- The "ranks" are an arbitrary metric; lower is usually better.
- If you're wondering why the kernel.org Sweden-EU mirror and an NZ mirror are in the top three from California, well, so am I ;-) The truth is that
netselectdoesn't always choose the most appropriate URL to display when multiple mirrors map to a single IP; number 3 is also known asnz.archive.ubuntu.com!
9
netselect picks mirrors that have low udp or icmp latency. It doesn't necessarily pick mirrors that can give more bandwidth.
– Tobu
Oct 13 '13 at 19:40
@pix I approved your edit, but it's not command substitution that results in newlines being replaced. It's the subsequent field splitting that removed the newlines. Command substitution only removes trailing newlines.
– muru
Feb 21 '17 at 9:23
add a comment
|
Here's one way that will always work, using good old netselect and some grep magic:
The terminal-addict's "find best server" hack!
- Download and
dpkg -inetselectfor your architecture from the Debian website. (it's about 125 KB, no dependencies) Find the fastest Ubuntu mirrors from your location, either up-to-date or at most six hours behind with this (I'll explain it below, sorry it doesn't split up nicely in Markdown)
sudo netselect -v -s10 -t20 `wget -q -O- https://launchpad.net/ubuntu/+archivemirrors | grep -P -B8 "statusUP|statusSIX" | grep -o -P "(f|ht)tp://[^"]*"`
netselect:-vmakes it a little verbose -- you want to see progress dots and messages telling you different mirrors mapping to the same IP were merged :)-sNcontrols how many mirrors you want at the end (e.g. top 10 mirrors)-tNis how long each mirror is speed-tested (default is 10; the higher the number, the longer it takes but the more reliable the results.)
This is the backquotes stuff (don't paste, just for explanation)
wget -q -O- https://launchpad.net/ubuntu/+archivemirrors
| grep -P -B8 "status(UP|SIX)"
| grep -o -P "(f|ht)tp://[^"]*"wgetpulls the latest mirror status from https://launchpad.net/ubuntu/+archivemirrors.- The first
grepextracts mirrors that are up-to-date or six-hours behind, along with 8 lines of previous context which includes the actual ftp/http URLs - The second
grepextracts these ftp/http URLs
Here's a sample output from California, USA:
60 ftp://mirrors.se.eu.kernel.org/ubuntu/
70 http://ubuntu.alex-vichev.info/
77 http://ftp.citylink.co.nz/ubuntu/
279 http://ubuntu.mirrors.tds.net/pub/ubuntu/
294 http://mirror.umd.edu/ubuntu/
332 http://mirrors.rit.edu/ubuntu/
364 ftp://pf.archive.ubuntu.com/ubuntu/
378 http://mirror.csclub.uwaterloo.ca/ubuntu/
399 ftp://ubuntu.mirror.frontiernet.net/ubuntu/
455 http://ubuntu.mirror.root.lu/ubuntu/- The "ranks" are an arbitrary metric; lower is usually better.
- If you're wondering why the kernel.org Sweden-EU mirror and an NZ mirror are in the top three from California, well, so am I ;-) The truth is that
netselectdoesn't always choose the most appropriate URL to display when multiple mirrors map to a single IP; number 3 is also known asnz.archive.ubuntu.com!
Here's one way that will always work, using good old netselect and some grep magic:
The terminal-addict's "find best server" hack!
- Download and
dpkg -inetselectfor your architecture from the Debian website. (it's about 125 KB, no dependencies) Find the fastest Ubuntu mirrors from your location, either up-to-date or at most six hours behind with this (I'll explain it below, sorry it doesn't split up nicely in Markdown)
sudo netselect -v -s10 -t20 `wget -q -O- https://launchpad.net/ubuntu/+archivemirrors | grep -P -B8 "statusUP|statusSIX" | grep -o -P "(f|ht)tp://[^"]*"`
netselect:-vmakes it a little verbose -- you want to see progress dots and messages telling you different mirrors mapping to the same IP were merged :)-sNcontrols how many mirrors you want at the end (e.g. top 10 mirrors)-tNis how long each mirror is speed-tested (default is 10; the higher the number, the longer it takes but the more reliable the results.)
This is the backquotes stuff (don't paste, just for explanation)
wget -q -O- https://launchpad.net/ubuntu/+archivemirrors
| grep -P -B8 "status(UP|SIX)"
| grep -o -P "(f|ht)tp://[^"]*"wgetpulls the latest mirror status from https://launchpad.net/ubuntu/+archivemirrors.- The first
grepextracts mirrors that are up-to-date or six-hours behind, along with 8 lines of previous context which includes the actual ftp/http URLs - The second
grepextracts these ftp/http URLs
Here's a sample output from California, USA:
60 ftp://mirrors.se.eu.kernel.org/ubuntu/
70 http://ubuntu.alex-vichev.info/
77 http://ftp.citylink.co.nz/ubuntu/
279 http://ubuntu.mirrors.tds.net/pub/ubuntu/
294 http://mirror.umd.edu/ubuntu/
332 http://mirrors.rit.edu/ubuntu/
364 ftp://pf.archive.ubuntu.com/ubuntu/
378 http://mirror.csclub.uwaterloo.ca/ubuntu/
399 ftp://ubuntu.mirror.frontiernet.net/ubuntu/
455 http://ubuntu.mirror.root.lu/ubuntu/- The "ranks" are an arbitrary metric; lower is usually better.
- If you're wondering why the kernel.org Sweden-EU mirror and an NZ mirror are in the top three from California, well, so am I ;-) The truth is that
netselectdoesn't always choose the most appropriate URL to display when multiple mirrors map to a single IP; number 3 is also known asnz.archive.ubuntu.com!
edited Feb 21 '17 at 9:16
pix
4933 silver badges11 bronze badges
4933 silver badges11 bronze badges
answered May 24 '12 at 6:45
ishish
123k35 gold badges281 silver badges299 bronze badges
123k35 gold badges281 silver badges299 bronze badges
9
netselect picks mirrors that have low udp or icmp latency. It doesn't necessarily pick mirrors that can give more bandwidth.
– Tobu
Oct 13 '13 at 19:40
@pix I approved your edit, but it's not command substitution that results in newlines being replaced. It's the subsequent field splitting that removed the newlines. Command substitution only removes trailing newlines.
– muru
Feb 21 '17 at 9:23
add a comment
|
9
netselect picks mirrors that have low udp or icmp latency. It doesn't necessarily pick mirrors that can give more bandwidth.
– Tobu
Oct 13 '13 at 19:40
@pix I approved your edit, but it's not command substitution that results in newlines being replaced. It's the subsequent field splitting that removed the newlines. Command substitution only removes trailing newlines.
– muru
Feb 21 '17 at 9:23
9
9
netselect picks mirrors that have low udp or icmp latency. It doesn't necessarily pick mirrors that can give more bandwidth.
– Tobu
Oct 13 '13 at 19:40
netselect picks mirrors that have low udp or icmp latency. It doesn't necessarily pick mirrors that can give more bandwidth.
– Tobu
Oct 13 '13 at 19:40
@pix I approved your edit, but it's not command substitution that results in newlines being replaced. It's the subsequent field splitting that removed the newlines. Command substitution only removes trailing newlines.
– muru
Feb 21 '17 at 9:23
@pix I approved your edit, but it's not command substitution that results in newlines being replaced. It's the subsequent field splitting that removed the newlines. Command substitution only removes trailing newlines.
– muru
Feb 21 '17 at 9:23
add a comment
|
Oneliner that select best (by download speed) mirror based on mirrors.ubuntu.com for yours ip.
curl -s http://mirrors.ubuntu.com/mirrors.txt | xargs -n1 -I sh -c 'echo `curl -r 0-102400 -s -w %speed_download -o /dev/null /ls-lR.gz` ' |sort -g -r |head -1| awk ' print $2 '
2
To have more options replace at the end:sort -gr | head -3.
– Pablo A
Mar 4 '17 at 1:55
1
Currently,curl -s http://mirrors.ubuntu.com/mirrors.txtreturns only one line:http://archive.ubuntu.com/ubuntu/which defeats the purpose of choosing among several. :-/
– Stéphane Gourichon
Jun 26 '17 at 13:35
yes, so this method is NG.
– netawater
Nov 18 '17 at 4:58
I found thecurlpart of this answer helpful becausecurl -r 0-102400 -o /dev/null [server_url]/ls-lR.gzwhere[server_url]is the base mirror URL listed inmirrors.txt, allows a speed comparison of the first ~100K of the index file from the mirror.
– jamesc
Mar 12 '18 at 12:57
This tests transfer speed, which is definitely an improvement over netselect. It's only downloading 10k from each server, which may not be a great representation of steady transfer speed on faster connections, though. Increase that 102400 to test with a larger download
– Phil Miller
Jun 8 '18 at 21:41
add a comment
|
Oneliner that select best (by download speed) mirror based on mirrors.ubuntu.com for yours ip.
curl -s http://mirrors.ubuntu.com/mirrors.txt | xargs -n1 -I sh -c 'echo `curl -r 0-102400 -s -w %speed_download -o /dev/null /ls-lR.gz` ' |sort -g -r |head -1| awk ' print $2 '
2
To have more options replace at the end:sort -gr | head -3.
– Pablo A
Mar 4 '17 at 1:55
1
Currently,curl -s http://mirrors.ubuntu.com/mirrors.txtreturns only one line:http://archive.ubuntu.com/ubuntu/which defeats the purpose of choosing among several. :-/
– Stéphane Gourichon
Jun 26 '17 at 13:35
yes, so this method is NG.
– netawater
Nov 18 '17 at 4:58
I found thecurlpart of this answer helpful becausecurl -r 0-102400 -o /dev/null [server_url]/ls-lR.gzwhere[server_url]is the base mirror URL listed inmirrors.txt, allows a speed comparison of the first ~100K of the index file from the mirror.
– jamesc
Mar 12 '18 at 12:57
This tests transfer speed, which is definitely an improvement over netselect. It's only downloading 10k from each server, which may not be a great representation of steady transfer speed on faster connections, though. Increase that 102400 to test with a larger download
– Phil Miller
Jun 8 '18 at 21:41
add a comment
|
Oneliner that select best (by download speed) mirror based on mirrors.ubuntu.com for yours ip.
curl -s http://mirrors.ubuntu.com/mirrors.txt | xargs -n1 -I sh -c 'echo `curl -r 0-102400 -s -w %speed_download -o /dev/null /ls-lR.gz` ' |sort -g -r |head -1| awk ' print $2 '
Oneliner that select best (by download speed) mirror based on mirrors.ubuntu.com for yours ip.
curl -s http://mirrors.ubuntu.com/mirrors.txt | xargs -n1 -I sh -c 'echo `curl -r 0-102400 -s -w %speed_download -o /dev/null /ls-lR.gz` ' |sort -g -r |head -1| awk ' print $2 '
answered Jan 10 '16 at 19:40
KAndyKAndy
3513 silver badges3 bronze badges
3513 silver badges3 bronze badges
2
To have more options replace at the end:sort -gr | head -3.
– Pablo A
Mar 4 '17 at 1:55
1
Currently,curl -s http://mirrors.ubuntu.com/mirrors.txtreturns only one line:http://archive.ubuntu.com/ubuntu/which defeats the purpose of choosing among several. :-/
– Stéphane Gourichon
Jun 26 '17 at 13:35
yes, so this method is NG.
– netawater
Nov 18 '17 at 4:58
I found thecurlpart of this answer helpful becausecurl -r 0-102400 -o /dev/null [server_url]/ls-lR.gzwhere[server_url]is the base mirror URL listed inmirrors.txt, allows a speed comparison of the first ~100K of the index file from the mirror.
– jamesc
Mar 12 '18 at 12:57
This tests transfer speed, which is definitely an improvement over netselect. It's only downloading 10k from each server, which may not be a great representation of steady transfer speed on faster connections, though. Increase that 102400 to test with a larger download
– Phil Miller
Jun 8 '18 at 21:41
add a comment
|
2
To have more options replace at the end:sort -gr | head -3.
– Pablo A
Mar 4 '17 at 1:55
1
Currently,curl -s http://mirrors.ubuntu.com/mirrors.txtreturns only one line:http://archive.ubuntu.com/ubuntu/which defeats the purpose of choosing among several. :-/
– Stéphane Gourichon
Jun 26 '17 at 13:35
yes, so this method is NG.
– netawater
Nov 18 '17 at 4:58
I found thecurlpart of this answer helpful becausecurl -r 0-102400 -o /dev/null [server_url]/ls-lR.gzwhere[server_url]is the base mirror URL listed inmirrors.txt, allows a speed comparison of the first ~100K of the index file from the mirror.
– jamesc
Mar 12 '18 at 12:57
This tests transfer speed, which is definitely an improvement over netselect. It's only downloading 10k from each server, which may not be a great representation of steady transfer speed on faster connections, though. Increase that 102400 to test with a larger download
– Phil Miller
Jun 8 '18 at 21:41
2
2
To have more options replace at the end:
sort -gr | head -3.– Pablo A
Mar 4 '17 at 1:55
To have more options replace at the end:
sort -gr | head -3.– Pablo A
Mar 4 '17 at 1:55
1
1
Currently,
curl -s http://mirrors.ubuntu.com/mirrors.txt returns only one line: http://archive.ubuntu.com/ubuntu/ which defeats the purpose of choosing among several. :-/– Stéphane Gourichon
Jun 26 '17 at 13:35
Currently,
curl -s http://mirrors.ubuntu.com/mirrors.txt returns only one line: http://archive.ubuntu.com/ubuntu/ which defeats the purpose of choosing among several. :-/– Stéphane Gourichon
Jun 26 '17 at 13:35
yes, so this method is NG.
– netawater
Nov 18 '17 at 4:58
yes, so this method is NG.
– netawater
Nov 18 '17 at 4:58
I found the
curl part of this answer helpful because curl -r 0-102400 -o /dev/null [server_url]/ls-lR.gz where [server_url] is the base mirror URL listed in mirrors.txt, allows a speed comparison of the first ~100K of the index file from the mirror.– jamesc
Mar 12 '18 at 12:57
I found the
curl part of this answer helpful because curl -r 0-102400 -o /dev/null [server_url]/ls-lR.gz where [server_url] is the base mirror URL listed in mirrors.txt, allows a speed comparison of the first ~100K of the index file from the mirror.– jamesc
Mar 12 '18 at 12:57
This tests transfer speed, which is definitely an improvement over netselect. It's only downloading 10k from each server, which may not be a great representation of steady transfer speed on faster connections, though. Increase that 102400 to test with a larger download
– Phil Miller
Jun 8 '18 at 21:41
This tests transfer speed, which is definitely an improvement over netselect. It's only downloading 10k from each server, which may not be a great representation of steady transfer speed on faster connections, though. Increase that 102400 to test with a larger download
– Phil Miller
Jun 8 '18 at 21:41
add a comment
|
Here is a Python script I wrote that finds mirrors with the lowest TCP latency.
The script also provides bandwidth and status data taken from launchpad, and will generate a new sources.list file automatically or using a mirror chosen from a list.
A usage example that lets you choose from 5 US mirrors with the lowest latency to your machine:
$ apt-select --country US -t 5 --choose
5
I want to let you know that I've made a debian package with your script that is ready to be used in a very easy and straightforward way: github.com/brodock/apt-select/releases/tag/0.1.0
– Gabriel Mazetto
Nov 3 '15 at 4:25
this is a perfect solution, as I've tried the other methods. to make noob friendly, I've written a post detailing this method:. blog.kmonsoor.com/…
– kmonsoor
Oct 11 '16 at 19:14
This is great, sincenetselectisn't available in newer versions of Ubuntu
– Tek
Feb 18 '18 at 7:23
Please show how to use it in your post
– Jonathan
Oct 31 '18 at 6:21
@Jonathan done. Full usage is in theREADMEat the first link.
– John B
Nov 1 '18 at 0:07
add a comment
|
Here is a Python script I wrote that finds mirrors with the lowest TCP latency.
The script also provides bandwidth and status data taken from launchpad, and will generate a new sources.list file automatically or using a mirror chosen from a list.
A usage example that lets you choose from 5 US mirrors with the lowest latency to your machine:
$ apt-select --country US -t 5 --choose
5
I want to let you know that I've made a debian package with your script that is ready to be used in a very easy and straightforward way: github.com/brodock/apt-select/releases/tag/0.1.0
– Gabriel Mazetto
Nov 3 '15 at 4:25
this is a perfect solution, as I've tried the other methods. to make noob friendly, I've written a post detailing this method:. blog.kmonsoor.com/…
– kmonsoor
Oct 11 '16 at 19:14
This is great, sincenetselectisn't available in newer versions of Ubuntu
– Tek
Feb 18 '18 at 7:23
Please show how to use it in your post
– Jonathan
Oct 31 '18 at 6:21
@Jonathan done. Full usage is in theREADMEat the first link.
– John B
Nov 1 '18 at 0:07
add a comment
|
Here is a Python script I wrote that finds mirrors with the lowest TCP latency.
The script also provides bandwidth and status data taken from launchpad, and will generate a new sources.list file automatically or using a mirror chosen from a list.
A usage example that lets you choose from 5 US mirrors with the lowest latency to your machine:
$ apt-select --country US -t 5 --choose
Here is a Python script I wrote that finds mirrors with the lowest TCP latency.
The script also provides bandwidth and status data taken from launchpad, and will generate a new sources.list file automatically or using a mirror chosen from a list.
A usage example that lets you choose from 5 US mirrors with the lowest latency to your machine:
$ apt-select --country US -t 5 --choose
edited Nov 16 '18 at 13:41
N0rbert
36.5k10 gold badges86 silver badges170 bronze badges
36.5k10 gold badges86 silver badges170 bronze badges
answered Jun 10 '14 at 23:58
John BJohn B
4666 silver badges8 bronze badges
4666 silver badges8 bronze badges
5
I want to let you know that I've made a debian package with your script that is ready to be used in a very easy and straightforward way: github.com/brodock/apt-select/releases/tag/0.1.0
– Gabriel Mazetto
Nov 3 '15 at 4:25
this is a perfect solution, as I've tried the other methods. to make noob friendly, I've written a post detailing this method:. blog.kmonsoor.com/…
– kmonsoor
Oct 11 '16 at 19:14
This is great, sincenetselectisn't available in newer versions of Ubuntu
– Tek
Feb 18 '18 at 7:23
Please show how to use it in your post
– Jonathan
Oct 31 '18 at 6:21
@Jonathan done. Full usage is in theREADMEat the first link.
– John B
Nov 1 '18 at 0:07
add a comment
|
5
I want to let you know that I've made a debian package with your script that is ready to be used in a very easy and straightforward way: github.com/brodock/apt-select/releases/tag/0.1.0
– Gabriel Mazetto
Nov 3 '15 at 4:25
this is a perfect solution, as I've tried the other methods. to make noob friendly, I've written a post detailing this method:. blog.kmonsoor.com/…
– kmonsoor
Oct 11 '16 at 19:14
This is great, sincenetselectisn't available in newer versions of Ubuntu
– Tek
Feb 18 '18 at 7:23
Please show how to use it in your post
– Jonathan
Oct 31 '18 at 6:21
@Jonathan done. Full usage is in theREADMEat the first link.
– John B
Nov 1 '18 at 0:07
5
5
I want to let you know that I've made a debian package with your script that is ready to be used in a very easy and straightforward way: github.com/brodock/apt-select/releases/tag/0.1.0
– Gabriel Mazetto
Nov 3 '15 at 4:25
I want to let you know that I've made a debian package with your script that is ready to be used in a very easy and straightforward way: github.com/brodock/apt-select/releases/tag/0.1.0
– Gabriel Mazetto
Nov 3 '15 at 4:25
this is a perfect solution, as I've tried the other methods. to make noob friendly, I've written a post detailing this method:. blog.kmonsoor.com/…
– kmonsoor
Oct 11 '16 at 19:14
this is a perfect solution, as I've tried the other methods. to make noob friendly, I've written a post detailing this method:. blog.kmonsoor.com/…
– kmonsoor
Oct 11 '16 at 19:14
This is great, since
netselect isn't available in newer versions of Ubuntu– Tek
Feb 18 '18 at 7:23
This is great, since
netselect isn't available in newer versions of Ubuntu– Tek
Feb 18 '18 at 7:23
Please show how to use it in your post
– Jonathan
Oct 31 '18 at 6:21
Please show how to use it in your post
– Jonathan
Oct 31 '18 at 6:21
@Jonathan done. Full usage is in the
README at the first link.– John B
Nov 1 '18 at 0:07
@Jonathan done. Full usage is in the
README at the first link.– John B
Nov 1 '18 at 0:07
add a comment
|
I developed a simple ping-based nodejs script that tests the servers listed on mirrors.ubuntu.com/mirrors.txt and returns the fastest one:
sudo npm install -g ffum
ffum
Please let me know if you find it useful or have any suggestions (=
ffum does not work: Connection error.
– James Fu
Jul 10 '13 at 8:48
It doesn't work: Empty output.
– Juan Simón
Aug 27 '13 at 1:06
git clonethe repo and runnode ffum
– Michael
Aug 7 '14 at 3:58
Awesome, works for me! I had a bug where it was looking for node instead of nodejs... also would be cool to have some verbose of each tested archive speed.
– tweak2
Aug 27 '14 at 16:57
add a comment
|
I developed a simple ping-based nodejs script that tests the servers listed on mirrors.ubuntu.com/mirrors.txt and returns the fastest one:
sudo npm install -g ffum
ffum
Please let me know if you find it useful or have any suggestions (=
ffum does not work: Connection error.
– James Fu
Jul 10 '13 at 8:48
It doesn't work: Empty output.
– Juan Simón
Aug 27 '13 at 1:06
git clonethe repo and runnode ffum
– Michael
Aug 7 '14 at 3:58
Awesome, works for me! I had a bug where it was looking for node instead of nodejs... also would be cool to have some verbose of each tested archive speed.
– tweak2
Aug 27 '14 at 16:57
add a comment
|
I developed a simple ping-based nodejs script that tests the servers listed on mirrors.ubuntu.com/mirrors.txt and returns the fastest one:
sudo npm install -g ffum
ffum
Please let me know if you find it useful or have any suggestions (=
I developed a simple ping-based nodejs script that tests the servers listed on mirrors.ubuntu.com/mirrors.txt and returns the fastest one:
sudo npm install -g ffum
ffum
Please let me know if you find it useful or have any suggestions (=
edited May 14 '13 at 17:00
Jorge Castro
61.6k110 gold badges430 silver badges624 bronze badges
61.6k110 gold badges430 silver badges624 bronze badges
answered May 14 '13 at 16:56
tentaculotentaculo
591 silver badge1 bronze badge
591 silver badge1 bronze badge
ffum does not work: Connection error.
– James Fu
Jul 10 '13 at 8:48
It doesn't work: Empty output.
– Juan Simón
Aug 27 '13 at 1:06
git clonethe repo and runnode ffum
– Michael
Aug 7 '14 at 3:58
Awesome, works for me! I had a bug where it was looking for node instead of nodejs... also would be cool to have some verbose of each tested archive speed.
– tweak2
Aug 27 '14 at 16:57
add a comment
|
ffum does not work: Connection error.
– James Fu
Jul 10 '13 at 8:48
It doesn't work: Empty output.
– Juan Simón
Aug 27 '13 at 1:06
git clonethe repo and runnode ffum
– Michael
Aug 7 '14 at 3:58
Awesome, works for me! I had a bug where it was looking for node instead of nodejs... also would be cool to have some verbose of each tested archive speed.
– tweak2
Aug 27 '14 at 16:57
ffum does not work: Connection error.
– James Fu
Jul 10 '13 at 8:48
ffum does not work: Connection error.
– James Fu
Jul 10 '13 at 8:48
It doesn't work: Empty output.
– Juan Simón
Aug 27 '13 at 1:06
It doesn't work: Empty output.
– Juan Simón
Aug 27 '13 at 1:06
git clone the repo and run node ffum– Michael
Aug 7 '14 at 3:58
git clone the repo and run node ffum– Michael
Aug 7 '14 at 3:58
Awesome, works for me! I had a bug where it was looking for node instead of nodejs... also would be cool to have some verbose of each tested archive speed.
– tweak2
Aug 27 '14 at 16:57
Awesome, works for me! I had a bug where it was looking for node instead of nodejs... also would be cool to have some verbose of each tested archive speed.
– tweak2
Aug 27 '14 at 16:57
add a comment
|
I know this doesn't directly answer the OP's question, but there's a button in the desktop/GUI version of Ubuntu that finds the best mirror for you. It seemed to work pretty well, so I looked into it briefly, but didn't have time to follow up.
The reason I bring it up is because I think it would be pretty straight forward and usable to make it into a command line utility.
If anyone is interested, the test seems to be located in:
/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
Again, that's about as far as I got, but I figured I'd leave this here in case anyone wanted it. I'll probably pick back up on it when I have a little more time.
On 18.04, this script detects when it is invoked as an application (as main) from a terminal....and just prints its results to the terminal. Make sure to give it enough time to complete.$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py>>[top 5 omitted] and the winner is: ny-mirrors.evowise.com
– PatKilg
Jun 9 '18 at 18:07
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:20
add a comment
|
I know this doesn't directly answer the OP's question, but there's a button in the desktop/GUI version of Ubuntu that finds the best mirror for you. It seemed to work pretty well, so I looked into it briefly, but didn't have time to follow up.
The reason I bring it up is because I think it would be pretty straight forward and usable to make it into a command line utility.
If anyone is interested, the test seems to be located in:
/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
Again, that's about as far as I got, but I figured I'd leave this here in case anyone wanted it. I'll probably pick back up on it when I have a little more time.
On 18.04, this script detects when it is invoked as an application (as main) from a terminal....and just prints its results to the terminal. Make sure to give it enough time to complete.$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py>>[top 5 omitted] and the winner is: ny-mirrors.evowise.com
– PatKilg
Jun 9 '18 at 18:07
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:20
add a comment
|
I know this doesn't directly answer the OP's question, but there's a button in the desktop/GUI version of Ubuntu that finds the best mirror for you. It seemed to work pretty well, so I looked into it briefly, but didn't have time to follow up.
The reason I bring it up is because I think it would be pretty straight forward and usable to make it into a command line utility.
If anyone is interested, the test seems to be located in:
/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
Again, that's about as far as I got, but I figured I'd leave this here in case anyone wanted it. I'll probably pick back up on it when I have a little more time.
I know this doesn't directly answer the OP's question, but there's a button in the desktop/GUI version of Ubuntu that finds the best mirror for you. It seemed to work pretty well, so I looked into it briefly, but didn't have time to follow up.
The reason I bring it up is because I think it would be pretty straight forward and usable to make it into a command line utility.
If anyone is interested, the test seems to be located in:
/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
Again, that's about as far as I got, but I figured I'd leave this here in case anyone wanted it. I'll probably pick back up on it when I have a little more time.
answered Oct 29 '16 at 21:35
copeland3300copeland3300
1412 bronze badges
1412 bronze badges
On 18.04, this script detects when it is invoked as an application (as main) from a terminal....and just prints its results to the terminal. Make sure to give it enough time to complete.$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py>>[top 5 omitted] and the winner is: ny-mirrors.evowise.com
– PatKilg
Jun 9 '18 at 18:07
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:20
add a comment
|
On 18.04, this script detects when it is invoked as an application (as main) from a terminal....and just prints its results to the terminal. Make sure to give it enough time to complete.$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py>>[top 5 omitted] and the winner is: ny-mirrors.evowise.com
– PatKilg
Jun 9 '18 at 18:07
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:20
On 18.04, this script detects when it is invoked as an application (as main) from a terminal....and just prints its results to the terminal. Make sure to give it enough time to complete.
$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py >> [top 5 omitted] and the winner is: ny-mirrors.evowise.com– PatKilg
Jun 9 '18 at 18:07
On 18.04, this script detects when it is invoked as an application (as main) from a terminal....and just prints its results to the terminal. Make sure to give it enough time to complete.
$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py >> [top 5 omitted] and the winner is: ny-mirrors.evowise.com– PatKilg
Jun 9 '18 at 18:07
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:20
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:20
add a comment
|
Command That Finds Fast Mirrors
On Ubuntu 18.04 I got good results by running
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
That prints a list of mirrors organized by "time" (not explained), and then I used one of the mirrors it ranked highest.
More Details
For me, it was useful to test a few of the top results output by that command by setting them as my mirror in /etc/apt/sources.list and then doing
time sudo apt update
to see how long it took to download the package list from that mirror. I tested the top three suggestions and they were all fast, but one of them was twice as fast as the other two in the time sudo apt update test.
Here's an example output from python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py:
mirror: es-mirrors.evowise.com - time: 0.183778047562
mirror: it-mirrors.evowise.com - time: 0.18604683876
mirror: la-mirrors.evowise.com - time: 0.192630052567
mirror: ny-mirrors.evowise.com - time: 0.208723068237
mirror: mirrors.accretive-networks.net - time: 0.385910987854
mirror: mirror.team-cymru.org - time: 0.46785402298
mirror: mirrors.psu.ac.th - time: 1.64231991768
and the winner is: es-mirrors.evowise.com
1
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:14
add a comment
|
Command That Finds Fast Mirrors
On Ubuntu 18.04 I got good results by running
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
That prints a list of mirrors organized by "time" (not explained), and then I used one of the mirrors it ranked highest.
More Details
For me, it was useful to test a few of the top results output by that command by setting them as my mirror in /etc/apt/sources.list and then doing
time sudo apt update
to see how long it took to download the package list from that mirror. I tested the top three suggestions and they were all fast, but one of them was twice as fast as the other two in the time sudo apt update test.
Here's an example output from python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py:
mirror: es-mirrors.evowise.com - time: 0.183778047562
mirror: it-mirrors.evowise.com - time: 0.18604683876
mirror: la-mirrors.evowise.com - time: 0.192630052567
mirror: ny-mirrors.evowise.com - time: 0.208723068237
mirror: mirrors.accretive-networks.net - time: 0.385910987854
mirror: mirror.team-cymru.org - time: 0.46785402298
mirror: mirrors.psu.ac.th - time: 1.64231991768
and the winner is: es-mirrors.evowise.com
1
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:14
add a comment
|
Command That Finds Fast Mirrors
On Ubuntu 18.04 I got good results by running
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
That prints a list of mirrors organized by "time" (not explained), and then I used one of the mirrors it ranked highest.
More Details
For me, it was useful to test a few of the top results output by that command by setting them as my mirror in /etc/apt/sources.list and then doing
time sudo apt update
to see how long it took to download the package list from that mirror. I tested the top three suggestions and they were all fast, but one of them was twice as fast as the other two in the time sudo apt update test.
Here's an example output from python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py:
mirror: es-mirrors.evowise.com - time: 0.183778047562
mirror: it-mirrors.evowise.com - time: 0.18604683876
mirror: la-mirrors.evowise.com - time: 0.192630052567
mirror: ny-mirrors.evowise.com - time: 0.208723068237
mirror: mirrors.accretive-networks.net - time: 0.385910987854
mirror: mirror.team-cymru.org - time: 0.46785402298
mirror: mirrors.psu.ac.th - time: 1.64231991768
and the winner is: es-mirrors.evowise.com
Command That Finds Fast Mirrors
On Ubuntu 18.04 I got good results by running
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
That prints a list of mirrors organized by "time" (not explained), and then I used one of the mirrors it ranked highest.
More Details
For me, it was useful to test a few of the top results output by that command by setting them as my mirror in /etc/apt/sources.list and then doing
time sudo apt update
to see how long it took to download the package list from that mirror. I tested the top three suggestions and they were all fast, but one of them was twice as fast as the other two in the time sudo apt update test.
Here's an example output from python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py:
mirror: es-mirrors.evowise.com - time: 0.183778047562
mirror: it-mirrors.evowise.com - time: 0.18604683876
mirror: la-mirrors.evowise.com - time: 0.192630052567
mirror: ny-mirrors.evowise.com - time: 0.208723068237
mirror: mirrors.accretive-networks.net - time: 0.385910987854
mirror: mirror.team-cymru.org - time: 0.46785402298
mirror: mirrors.psu.ac.th - time: 1.64231991768
and the winner is: es-mirrors.evowise.com
answered Jan 19 at 22:34
ntc2ntc2
3753 silver badges13 bronze badges
3753 silver badges13 bronze badges
1
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:14
add a comment
|
1
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:14
1
1
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:14
Sadly it doesn't work correctly. This script takes the 5 servers with lowest ping, then score them by bandwidth by downloading a ~1M file (Packages.gz in main from your dist). If you modify the script to increase it to 25 servers and download a 500M file you get completely different results, which are correct this time.
– Jocelyn
Feb 16 at 11:14
add a comment
|
For the command line, you can use a Python tool called apt-smart
A usage example that lets you list ranked mirrors within your country (automatically detect):
$ apt-smart -l
With -l, or --list-mirrors, you will get ( example output from Travis CI U.S. server ):
---------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
---------------------------------------------------------------------------------------------------------
| 1 | http://mirrors.gigenet.com/ubuntua... | Yes | No | Up to date | 1.73 MB/s |
| 2 | http://mirror.genesisadaptive.com/... | Yes | No | Up to date | 1.68 MB/s |
| 3 | http://ubuntu.mirrors.tds.net/pub/... | Yes | No | Up to date | 1.4 MB/s |
| 4 | http://repos.forethought.net/ubuntu | Yes | No | Up to date | 1.35 MB/s |
| 5 | http://repo.miserver.it.umich.edu/... | Yes | No | Up to date | 937.62 KB/s |
...
| 75 | http://mirror.cc.vt.edu/pub2/ubuntu | Yes | No | 1 day behind | 659.67 KB/s |
| 76 | http://mirror.atlantic.net/ubuntu | Yes | No | 2 days behind | 351.26 KB/s |
| 77 | http://mirror.lstn.net/ubuntu | Yes | No | 4 days behind | 806.81 KB/s |
| 78 | http://mirrors.usinternet.com/ubun... | Yes | No | 4 weeks behind | 514.31 KB/s |
| 79 | http://mirrors.arpnetworks.com/Ubuntu | Yes | No | 19 weeks behind | 418.94 KB/s |
| 80 | http://mirrors.ocf.berkeley.edu/ub... | Yes | Yes | Up to date | 446.07 KB/s |
---------------------------------------------------------------------------------------------------------
Full URLs which are too long to be shown in above table:
1: http://mirrors.gigenet.com/ubuntuarchive
2: http://mirror.genesisadaptive.com/ubuntu
3: http://ubuntu.mirrors.tds.net/pub/ubuntu
5: http://repo.miserver.it.umich.edu/ubuntu
...
78: http://mirrors.usinternet.com/ubuntu/archive
80: http://mirrors.ocf.berkeley.edu/ubuntu
Of course, apt-smart can also change your sources.list if you want to:
$ apt-smart -a
With -a , or --auto-change-mirror to discover available mirrors, rank the mirrors by connection speed and update status and update /etc/apt/sources.list to use the best available mirror.
With -c , or --change-mirror MIRROR_URL to update /etc/apt/sources.list to use the given MIRROR_URL.
Compared with other tools:
apt-smartautomatically finds where you are so you don't need to specify the country when you travel abroad.apt-smartdoes real HTTP download from each mirror to get more accurate results ( bandwidth & status ) and supports HTTP proxy, rather than usingpingand relying on launchpad 's inaccurate data.apt-smartis being maintained, whereas most other tools leave issues unfix for a long time.
You can easily install apt-smart via pip, for detailed copy'n'paste install commands and usages please see Project Readme.
This works great! "pip install apt-smart" to install it.
– Andy Fraley
Nov 1 at 1:57
@Andy Fraley Thank you for commenting. If you are lucky enough, you can install apt-smart simply bypip install apt-smartand runapt-smartwithout any errors. But sometimes in some environments it might says 'apt-smart' command not found, or any other errors. It is not a bug of apt-smart but it is something of pip or Ubuntu system environment, and talking about it will be a long story. So the recommend way to install it is to follow the install commands in Project Readme, which is clear and can be copy'n'paste as a whole into terminal.
– Martin X
Nov 3 at 4:03
add a comment
|
For the command line, you can use a Python tool called apt-smart
A usage example that lets you list ranked mirrors within your country (automatically detect):
$ apt-smart -l
With -l, or --list-mirrors, you will get ( example output from Travis CI U.S. server ):
---------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
---------------------------------------------------------------------------------------------------------
| 1 | http://mirrors.gigenet.com/ubuntua... | Yes | No | Up to date | 1.73 MB/s |
| 2 | http://mirror.genesisadaptive.com/... | Yes | No | Up to date | 1.68 MB/s |
| 3 | http://ubuntu.mirrors.tds.net/pub/... | Yes | No | Up to date | 1.4 MB/s |
| 4 | http://repos.forethought.net/ubuntu | Yes | No | Up to date | 1.35 MB/s |
| 5 | http://repo.miserver.it.umich.edu/... | Yes | No | Up to date | 937.62 KB/s |
...
| 75 | http://mirror.cc.vt.edu/pub2/ubuntu | Yes | No | 1 day behind | 659.67 KB/s |
| 76 | http://mirror.atlantic.net/ubuntu | Yes | No | 2 days behind | 351.26 KB/s |
| 77 | http://mirror.lstn.net/ubuntu | Yes | No | 4 days behind | 806.81 KB/s |
| 78 | http://mirrors.usinternet.com/ubun... | Yes | No | 4 weeks behind | 514.31 KB/s |
| 79 | http://mirrors.arpnetworks.com/Ubuntu | Yes | No | 19 weeks behind | 418.94 KB/s |
| 80 | http://mirrors.ocf.berkeley.edu/ub... | Yes | Yes | Up to date | 446.07 KB/s |
---------------------------------------------------------------------------------------------------------
Full URLs which are too long to be shown in above table:
1: http://mirrors.gigenet.com/ubuntuarchive
2: http://mirror.genesisadaptive.com/ubuntu
3: http://ubuntu.mirrors.tds.net/pub/ubuntu
5: http://repo.miserver.it.umich.edu/ubuntu
...
78: http://mirrors.usinternet.com/ubuntu/archive
80: http://mirrors.ocf.berkeley.edu/ubuntu
Of course, apt-smart can also change your sources.list if you want to:
$ apt-smart -a
With -a , or --auto-change-mirror to discover available mirrors, rank the mirrors by connection speed and update status and update /etc/apt/sources.list to use the best available mirror.
With -c , or --change-mirror MIRROR_URL to update /etc/apt/sources.list to use the given MIRROR_URL.
Compared with other tools:
apt-smartautomatically finds where you are so you don't need to specify the country when you travel abroad.apt-smartdoes real HTTP download from each mirror to get more accurate results ( bandwidth & status ) and supports HTTP proxy, rather than usingpingand relying on launchpad 's inaccurate data.apt-smartis being maintained, whereas most other tools leave issues unfix for a long time.
You can easily install apt-smart via pip, for detailed copy'n'paste install commands and usages please see Project Readme.
This works great! "pip install apt-smart" to install it.
– Andy Fraley
Nov 1 at 1:57
@Andy Fraley Thank you for commenting. If you are lucky enough, you can install apt-smart simply bypip install apt-smartand runapt-smartwithout any errors. But sometimes in some environments it might says 'apt-smart' command not found, or any other errors. It is not a bug of apt-smart but it is something of pip or Ubuntu system environment, and talking about it will be a long story. So the recommend way to install it is to follow the install commands in Project Readme, which is clear and can be copy'n'paste as a whole into terminal.
– Martin X
Nov 3 at 4:03
add a comment
|
For the command line, you can use a Python tool called apt-smart
A usage example that lets you list ranked mirrors within your country (automatically detect):
$ apt-smart -l
With -l, or --list-mirrors, you will get ( example output from Travis CI U.S. server ):
---------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
---------------------------------------------------------------------------------------------------------
| 1 | http://mirrors.gigenet.com/ubuntua... | Yes | No | Up to date | 1.73 MB/s |
| 2 | http://mirror.genesisadaptive.com/... | Yes | No | Up to date | 1.68 MB/s |
| 3 | http://ubuntu.mirrors.tds.net/pub/... | Yes | No | Up to date | 1.4 MB/s |
| 4 | http://repos.forethought.net/ubuntu | Yes | No | Up to date | 1.35 MB/s |
| 5 | http://repo.miserver.it.umich.edu/... | Yes | No | Up to date | 937.62 KB/s |
...
| 75 | http://mirror.cc.vt.edu/pub2/ubuntu | Yes | No | 1 day behind | 659.67 KB/s |
| 76 | http://mirror.atlantic.net/ubuntu | Yes | No | 2 days behind | 351.26 KB/s |
| 77 | http://mirror.lstn.net/ubuntu | Yes | No | 4 days behind | 806.81 KB/s |
| 78 | http://mirrors.usinternet.com/ubun... | Yes | No | 4 weeks behind | 514.31 KB/s |
| 79 | http://mirrors.arpnetworks.com/Ubuntu | Yes | No | 19 weeks behind | 418.94 KB/s |
| 80 | http://mirrors.ocf.berkeley.edu/ub... | Yes | Yes | Up to date | 446.07 KB/s |
---------------------------------------------------------------------------------------------------------
Full URLs which are too long to be shown in above table:
1: http://mirrors.gigenet.com/ubuntuarchive
2: http://mirror.genesisadaptive.com/ubuntu
3: http://ubuntu.mirrors.tds.net/pub/ubuntu
5: http://repo.miserver.it.umich.edu/ubuntu
...
78: http://mirrors.usinternet.com/ubuntu/archive
80: http://mirrors.ocf.berkeley.edu/ubuntu
Of course, apt-smart can also change your sources.list if you want to:
$ apt-smart -a
With -a , or --auto-change-mirror to discover available mirrors, rank the mirrors by connection speed and update status and update /etc/apt/sources.list to use the best available mirror.
With -c , or --change-mirror MIRROR_URL to update /etc/apt/sources.list to use the given MIRROR_URL.
Compared with other tools:
apt-smartautomatically finds where you are so you don't need to specify the country when you travel abroad.apt-smartdoes real HTTP download from each mirror to get more accurate results ( bandwidth & status ) and supports HTTP proxy, rather than usingpingand relying on launchpad 's inaccurate data.apt-smartis being maintained, whereas most other tools leave issues unfix for a long time.
You can easily install apt-smart via pip, for detailed copy'n'paste install commands and usages please see Project Readme.
For the command line, you can use a Python tool called apt-smart
A usage example that lets you list ranked mirrors within your country (automatically detect):
$ apt-smart -l
With -l, or --list-mirrors, you will get ( example output from Travis CI U.S. server ):
---------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
---------------------------------------------------------------------------------------------------------
| 1 | http://mirrors.gigenet.com/ubuntua... | Yes | No | Up to date | 1.73 MB/s |
| 2 | http://mirror.genesisadaptive.com/... | Yes | No | Up to date | 1.68 MB/s |
| 3 | http://ubuntu.mirrors.tds.net/pub/... | Yes | No | Up to date | 1.4 MB/s |
| 4 | http://repos.forethought.net/ubuntu | Yes | No | Up to date | 1.35 MB/s |
| 5 | http://repo.miserver.it.umich.edu/... | Yes | No | Up to date | 937.62 KB/s |
...
| 75 | http://mirror.cc.vt.edu/pub2/ubuntu | Yes | No | 1 day behind | 659.67 KB/s |
| 76 | http://mirror.atlantic.net/ubuntu | Yes | No | 2 days behind | 351.26 KB/s |
| 77 | http://mirror.lstn.net/ubuntu | Yes | No | 4 days behind | 806.81 KB/s |
| 78 | http://mirrors.usinternet.com/ubun... | Yes | No | 4 weeks behind | 514.31 KB/s |
| 79 | http://mirrors.arpnetworks.com/Ubuntu | Yes | No | 19 weeks behind | 418.94 KB/s |
| 80 | http://mirrors.ocf.berkeley.edu/ub... | Yes | Yes | Up to date | 446.07 KB/s |
---------------------------------------------------------------------------------------------------------
Full URLs which are too long to be shown in above table:
1: http://mirrors.gigenet.com/ubuntuarchive
2: http://mirror.genesisadaptive.com/ubuntu
3: http://ubuntu.mirrors.tds.net/pub/ubuntu
5: http://repo.miserver.it.umich.edu/ubuntu
...
78: http://mirrors.usinternet.com/ubuntu/archive
80: http://mirrors.ocf.berkeley.edu/ubuntu
Of course, apt-smart can also change your sources.list if you want to:
$ apt-smart -a
With -a , or --auto-change-mirror to discover available mirrors, rank the mirrors by connection speed and update status and update /etc/apt/sources.list to use the best available mirror.
With -c , or --change-mirror MIRROR_URL to update /etc/apt/sources.list to use the given MIRROR_URL.
Compared with other tools:
apt-smartautomatically finds where you are so you don't need to specify the country when you travel abroad.apt-smartdoes real HTTP download from each mirror to get more accurate results ( bandwidth & status ) and supports HTTP proxy, rather than usingpingand relying on launchpad 's inaccurate data.apt-smartis being maintained, whereas most other tools leave issues unfix for a long time.
You can easily install apt-smart via pip, for detailed copy'n'paste install commands and usages please see Project Readme.
answered Oct 7 at 8:52
Martin XMartin X
313 bronze badges
313 bronze badges
This works great! "pip install apt-smart" to install it.
– Andy Fraley
Nov 1 at 1:57
@Andy Fraley Thank you for commenting. If you are lucky enough, you can install apt-smart simply bypip install apt-smartand runapt-smartwithout any errors. But sometimes in some environments it might says 'apt-smart' command not found, or any other errors. It is not a bug of apt-smart but it is something of pip or Ubuntu system environment, and talking about it will be a long story. So the recommend way to install it is to follow the install commands in Project Readme, which is clear and can be copy'n'paste as a whole into terminal.
– Martin X
Nov 3 at 4:03
add a comment
|
This works great! "pip install apt-smart" to install it.
– Andy Fraley
Nov 1 at 1:57
@Andy Fraley Thank you for commenting. If you are lucky enough, you can install apt-smart simply bypip install apt-smartand runapt-smartwithout any errors. But sometimes in some environments it might says 'apt-smart' command not found, or any other errors. It is not a bug of apt-smart but it is something of pip or Ubuntu system environment, and talking about it will be a long story. So the recommend way to install it is to follow the install commands in Project Readme, which is clear and can be copy'n'paste as a whole into terminal.
– Martin X
Nov 3 at 4:03
This works great! "pip install apt-smart" to install it.
– Andy Fraley
Nov 1 at 1:57
This works great! "pip install apt-smart" to install it.
– Andy Fraley
Nov 1 at 1:57
@Andy Fraley Thank you for commenting. If you are lucky enough, you can install apt-smart simply by
pip install apt-smart and run apt-smart without any errors. But sometimes in some environments it might says 'apt-smart' command not found, or any other errors. It is not a bug of apt-smart but it is something of pip or Ubuntu system environment, and talking about it will be a long story. So the recommend way to install it is to follow the install commands in Project Readme, which is clear and can be copy'n'paste as a whole into terminal.– Martin X
Nov 3 at 4:03
@Andy Fraley Thank you for commenting. If you are lucky enough, you can install apt-smart simply by
pip install apt-smart and run apt-smart without any errors. But sometimes in some environments it might says 'apt-smart' command not found, or any other errors. It is not a bug of apt-smart but it is something of pip or Ubuntu system environment, and talking about it will be a long story. So the recommend way to install it is to follow the install commands in Project Readme, which is clear and can be copy'n'paste as a whole into terminal.– Martin X
Nov 3 at 4:03
add a comment
|
I use the following to auto select mirrors (and disable deb-src)
sudo sed -i -e 's%http://archive.ubuntu.com/ubuntu%mirror://mirrors.ubuntu.com/mirrors.txt%' -e 's/^deb-src/#deb-src/' /etc/apt/sources.list
add a comment
|
I use the following to auto select mirrors (and disable deb-src)
sudo sed -i -e 's%http://archive.ubuntu.com/ubuntu%mirror://mirrors.ubuntu.com/mirrors.txt%' -e 's/^deb-src/#deb-src/' /etc/apt/sources.list
add a comment
|
I use the following to auto select mirrors (and disable deb-src)
sudo sed -i -e 's%http://archive.ubuntu.com/ubuntu%mirror://mirrors.ubuntu.com/mirrors.txt%' -e 's/^deb-src/#deb-src/' /etc/apt/sources.list
I use the following to auto select mirrors (and disable deb-src)
sudo sed -i -e 's%http://archive.ubuntu.com/ubuntu%mirror://mirrors.ubuntu.com/mirrors.txt%' -e 's/^deb-src/#deb-src/' /etc/apt/sources.list
answered Jul 9 '16 at 12:37
iheggieiheggie
1614 bronze badges
1614 bronze badges
add a comment
|
add a comment
|
If you want a utility to do this you could implement such a utility as a simple bash script like the following. This might be useful if you want to use the utility without needing pip/nodejs.
#!/bin/bash
if [ -z "$1" ]
then
echo Usage: sudo $0 http://mirrors.ubuntu.com/mirrors.txt
echo OR consider one of...
for mirror in `wget http://mirrors.ubuntu.com/mirrors.txt -O - 2> /dev/null`
do
(
host=`echo $mirror |sed s,.*//,,|sed s,/.*,,`
echo -e `ping $host -c1 | grep time=|sed s,.*time=,,`:' tt'$mirror
) &
done
wait
exit 1
fi
OLD_SOURCE=`cat /etc/apt/sources.list | grep ^deb | head -n1 | cut -d -f2`
[ -e /etc/apt/sources.list.orig ] || cp /etc/apt/sources.list /etc/apt/sources.list.orig
cp /etc/apt/sources.list /etc/apt/sources.list.tmp
sed "s,$OLD_SOURCE,$1," < /etc/apt/sources.list.tmp > /etc/apt/sources.list
add a comment
|
If you want a utility to do this you could implement such a utility as a simple bash script like the following. This might be useful if you want to use the utility without needing pip/nodejs.
#!/bin/bash
if [ -z "$1" ]
then
echo Usage: sudo $0 http://mirrors.ubuntu.com/mirrors.txt
echo OR consider one of...
for mirror in `wget http://mirrors.ubuntu.com/mirrors.txt -O - 2> /dev/null`
do
(
host=`echo $mirror |sed s,.*//,,|sed s,/.*,,`
echo -e `ping $host -c1 | grep time=|sed s,.*time=,,`:' tt'$mirror
) &
done
wait
exit 1
fi
OLD_SOURCE=`cat /etc/apt/sources.list | grep ^deb | head -n1 | cut -d -f2`
[ -e /etc/apt/sources.list.orig ] || cp /etc/apt/sources.list /etc/apt/sources.list.orig
cp /etc/apt/sources.list /etc/apt/sources.list.tmp
sed "s,$OLD_SOURCE,$1," < /etc/apt/sources.list.tmp > /etc/apt/sources.list
add a comment
|
If you want a utility to do this you could implement such a utility as a simple bash script like the following. This might be useful if you want to use the utility without needing pip/nodejs.
#!/bin/bash
if [ -z "$1" ]
then
echo Usage: sudo $0 http://mirrors.ubuntu.com/mirrors.txt
echo OR consider one of...
for mirror in `wget http://mirrors.ubuntu.com/mirrors.txt -O - 2> /dev/null`
do
(
host=`echo $mirror |sed s,.*//,,|sed s,/.*,,`
echo -e `ping $host -c1 | grep time=|sed s,.*time=,,`:' tt'$mirror
) &
done
wait
exit 1
fi
OLD_SOURCE=`cat /etc/apt/sources.list | grep ^deb | head -n1 | cut -d -f2`
[ -e /etc/apt/sources.list.orig ] || cp /etc/apt/sources.list /etc/apt/sources.list.orig
cp /etc/apt/sources.list /etc/apt/sources.list.tmp
sed "s,$OLD_SOURCE,$1," < /etc/apt/sources.list.tmp > /etc/apt/sources.list
If you want a utility to do this you could implement such a utility as a simple bash script like the following. This might be useful if you want to use the utility without needing pip/nodejs.
#!/bin/bash
if [ -z "$1" ]
then
echo Usage: sudo $0 http://mirrors.ubuntu.com/mirrors.txt
echo OR consider one of...
for mirror in `wget http://mirrors.ubuntu.com/mirrors.txt -O - 2> /dev/null`
do
(
host=`echo $mirror |sed s,.*//,,|sed s,/.*,,`
echo -e `ping $host -c1 | grep time=|sed s,.*time=,,`:' tt'$mirror
) &
done
wait
exit 1
fi
OLD_SOURCE=`cat /etc/apt/sources.list | grep ^deb | head -n1 | cut -d -f2`
[ -e /etc/apt/sources.list.orig ] || cp /etc/apt/sources.list /etc/apt/sources.list.orig
cp /etc/apt/sources.list /etc/apt/sources.list.tmp
sed "s,$OLD_SOURCE,$1," < /etc/apt/sources.list.tmp > /etc/apt/sources.list
edited Nov 29 '17 at 15:26
derHugo
2,6824 gold badges18 silver badges38 bronze badges
2,6824 gold badges18 silver badges38 bronze badges
answered Jan 24 '17 at 4:52
gmathtgmatht
4664 silver badges6 bronze badges
4664 silver badges6 bronze badges
add a comment
|
add a comment
|
The other answers, including the accepted answer, are no longer valid (for Ubuntu 11.04 and newer) because they recommended Debian packages such as netselect-apt and apt-spy which do not work with Ubuntu.
There are two different working answers to this question below:
Use apt-get'smirror:method
This method asks the Ubuntu server for a list of mirrors near you based on your IP, and selects one of them. The easiest alternative, with the minor downside that sometimes the closest mirror may not be the fastest.
Command-line foo using netselect
Shows you how to use the netselect tool to find the fastest recently updated servers from you -- network-wise, not geographically. Usesedto replace mirrors insources.list.
Use sed to replace mirrors in sources.list
Since some sources use addition folders as part of their path it might be better to use the alternate separator syntax.
sudo sed -i 's%us.archive.ubuntu.com%mirrors.gigenet.com/ubuntuarchive/%' /etc/apt/sources.list
add a comment
|
The other answers, including the accepted answer, are no longer valid (for Ubuntu 11.04 and newer) because they recommended Debian packages such as netselect-apt and apt-spy which do not work with Ubuntu.
There are two different working answers to this question below:
Use apt-get'smirror:method
This method asks the Ubuntu server for a list of mirrors near you based on your IP, and selects one of them. The easiest alternative, with the minor downside that sometimes the closest mirror may not be the fastest.
Command-line foo using netselect
Shows you how to use the netselect tool to find the fastest recently updated servers from you -- network-wise, not geographically. Usesedto replace mirrors insources.list.
Use sed to replace mirrors in sources.list
Since some sources use addition folders as part of their path it might be better to use the alternate separator syntax.
sudo sed -i 's%us.archive.ubuntu.com%mirrors.gigenet.com/ubuntuarchive/%' /etc/apt/sources.list
add a comment
|
The other answers, including the accepted answer, are no longer valid (for Ubuntu 11.04 and newer) because they recommended Debian packages such as netselect-apt and apt-spy which do not work with Ubuntu.
There are two different working answers to this question below:
Use apt-get'smirror:method
This method asks the Ubuntu server for a list of mirrors near you based on your IP, and selects one of them. The easiest alternative, with the minor downside that sometimes the closest mirror may not be the fastest.
Command-line foo using netselect
Shows you how to use the netselect tool to find the fastest recently updated servers from you -- network-wise, not geographically. Usesedto replace mirrors insources.list.
Use sed to replace mirrors in sources.list
Since some sources use addition folders as part of their path it might be better to use the alternate separator syntax.
sudo sed -i 's%us.archive.ubuntu.com%mirrors.gigenet.com/ubuntuarchive/%' /etc/apt/sources.list
The other answers, including the accepted answer, are no longer valid (for Ubuntu 11.04 and newer) because they recommended Debian packages such as netselect-apt and apt-spy which do not work with Ubuntu.
There are two different working answers to this question below:
Use apt-get'smirror:method
This method asks the Ubuntu server for a list of mirrors near you based on your IP, and selects one of them. The easiest alternative, with the minor downside that sometimes the closest mirror may not be the fastest.
Command-line foo using netselect
Shows you how to use the netselect tool to find the fastest recently updated servers from you -- network-wise, not geographically. Usesedto replace mirrors insources.list.
Use sed to replace mirrors in sources.list
Since some sources use addition folders as part of their path it might be better to use the alternate separator syntax.
sudo sed -i 's%us.archive.ubuntu.com%mirrors.gigenet.com/ubuntuarchive/%' /etc/apt/sources.list
answered May 7 '18 at 10:10
community wiki
k0pernikus
add a comment
|
add a comment
|
The easiest and efficient way to get the fastest mirror is to use the apt mirror:// source, see
https://mvogt.wordpress.com/2011/03/21/the-apt-mirror-method/
add a comment
|
The easiest and efficient way to get the fastest mirror is to use the apt mirror:// source, see
https://mvogt.wordpress.com/2011/03/21/the-apt-mirror-method/
add a comment
|
The easiest and efficient way to get the fastest mirror is to use the apt mirror:// source, see
https://mvogt.wordpress.com/2011/03/21/the-apt-mirror-method/
The easiest and efficient way to get the fastest mirror is to use the apt mirror:// source, see
https://mvogt.wordpress.com/2011/03/21/the-apt-mirror-method/
edited Apr 10 '16 at 8:32
0xF2
2,5742 gold badges24 silver badges47 bronze badges
2,5742 gold badges24 silver badges47 bronze badges
answered Apr 10 '16 at 7:58
daviddavid
1
1
add a comment
|
add a comment
|
Highly active question. Earn 10 reputation in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
Highly active question. Earn 10 reputation in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
Highly active question. Earn 10 reputation in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
Highly active question. Earn 10 reputation in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
3
In regular expressions, the . character means any character. If you want it to match a ., you need to escape it with , so us.archive[..] should be us.archive[..]
– Egil
May 4 '11 at 7:13
Related: askubuntu.com/questions/37753/…
– Jorge Castro
Apr 6 '12 at 19:13
2
In my case I had to replace the
#signs with slashes (/). Otherwise I gotsed: -e expression #1, char 53: unterminateds' command`.– Ethan Leroy
Oct 18 '13 at 21:18
@EthanLeroy same here with Ubuntu 12.04.3
– logoff
Jan 10 '14 at 11:44
Should be slash not hash.
– Matt H
May 19 '14 at 22:20