How to switch APT mirror from the commandline?
up vote
3
down vote
favorite
Let's assume that we are using Ubuntu 18.04 LTS (Bionic Beaver).
I know GUI ways to switch currently used APT mirror.
User should open Software & Updates (software-properties-gtk
or software-properties-kde
) and navigate to Ubuntu Software (Kubuntu Software) tab and then select mirror in Download from list:
But how to switch APT mirror from the commandline?
Notes/updates:
- I need a solution without direct editing of
/etc/apt/sources.list
to prevent typos and automate correct mirror selection. - I need to switch mirror with one simple command as equivalent of picking one from Download from list in
software-properties-gtk
(also it is interesting where mirror addresses are saved in the system).
3. I created discussion and poll named "Does Ubuntu need console alternative for software-properties-gtk / software-properties-kde?" on community.ubuntu.com.
command-line apt package-management updates update-manager
add a comment |
up vote
3
down vote
favorite
Let's assume that we are using Ubuntu 18.04 LTS (Bionic Beaver).
I know GUI ways to switch currently used APT mirror.
User should open Software & Updates (software-properties-gtk
or software-properties-kde
) and navigate to Ubuntu Software (Kubuntu Software) tab and then select mirror in Download from list:
But how to switch APT mirror from the commandline?
Notes/updates:
- I need a solution without direct editing of
/etc/apt/sources.list
to prevent typos and automate correct mirror selection. - I need to switch mirror with one simple command as equivalent of picking one from Download from list in
software-properties-gtk
(also it is interesting where mirror addresses are saved in the system).
3. I created discussion and poll named "Does Ubuntu need console alternative for software-properties-gtk / software-properties-kde?" on community.ubuntu.com.
command-line apt package-management updates update-manager
1
Why don't you want to editsources.list
? That's kind of the way to do it from the command line. All the GUI tools do is manipulate that file anyway.
– terdon♦
Nov 16 at 12:48
So you're OK if the solution does edit the file just as long as the solution isn't "go edit the file yourself"? SO, for instance, a sed command would work for you? If so, please show us an example of the alternate mirror's URL.
– terdon♦
Nov 16 at 12:56
My main idea is the following. I need to switch mirror with one simple command as equivalent of picking one from Download from list insoftware-properties-gtk
(also it is interesting where mirror addresses are saved in the system).
– N0rbert
Nov 16 at 12:58
add a comment |
up vote
3
down vote
favorite
up vote
3
down vote
favorite
Let's assume that we are using Ubuntu 18.04 LTS (Bionic Beaver).
I know GUI ways to switch currently used APT mirror.
User should open Software & Updates (software-properties-gtk
or software-properties-kde
) and navigate to Ubuntu Software (Kubuntu Software) tab and then select mirror in Download from list:
But how to switch APT mirror from the commandline?
Notes/updates:
- I need a solution without direct editing of
/etc/apt/sources.list
to prevent typos and automate correct mirror selection. - I need to switch mirror with one simple command as equivalent of picking one from Download from list in
software-properties-gtk
(also it is interesting where mirror addresses are saved in the system).
3. I created discussion and poll named "Does Ubuntu need console alternative for software-properties-gtk / software-properties-kde?" on community.ubuntu.com.
command-line apt package-management updates update-manager
Let's assume that we are using Ubuntu 18.04 LTS (Bionic Beaver).
I know GUI ways to switch currently used APT mirror.
User should open Software & Updates (software-properties-gtk
or software-properties-kde
) and navigate to Ubuntu Software (Kubuntu Software) tab and then select mirror in Download from list:
But how to switch APT mirror from the commandline?
Notes/updates:
- I need a solution without direct editing of
/etc/apt/sources.list
to prevent typos and automate correct mirror selection. - I need to switch mirror with one simple command as equivalent of picking one from Download from list in
software-properties-gtk
(also it is interesting where mirror addresses are saved in the system).
3. I created discussion and poll named "Does Ubuntu need console alternative for software-properties-gtk / software-properties-kde?" on community.ubuntu.com.
command-line apt package-management updates update-manager
command-line apt package-management updates update-manager
edited Nov 22 at 16:37
asked Nov 16 at 12:06
N0rbert
19.5k54390
19.5k54390
1
Why don't you want to editsources.list
? That's kind of the way to do it from the command line. All the GUI tools do is manipulate that file anyway.
– terdon♦
Nov 16 at 12:48
So you're OK if the solution does edit the file just as long as the solution isn't "go edit the file yourself"? SO, for instance, a sed command would work for you? If so, please show us an example of the alternate mirror's URL.
– terdon♦
Nov 16 at 12:56
My main idea is the following. I need to switch mirror with one simple command as equivalent of picking one from Download from list insoftware-properties-gtk
(also it is interesting where mirror addresses are saved in the system).
– N0rbert
Nov 16 at 12:58
add a comment |
1
Why don't you want to editsources.list
? That's kind of the way to do it from the command line. All the GUI tools do is manipulate that file anyway.
– terdon♦
Nov 16 at 12:48
So you're OK if the solution does edit the file just as long as the solution isn't "go edit the file yourself"? SO, for instance, a sed command would work for you? If so, please show us an example of the alternate mirror's URL.
– terdon♦
Nov 16 at 12:56
My main idea is the following. I need to switch mirror with one simple command as equivalent of picking one from Download from list insoftware-properties-gtk
(also it is interesting where mirror addresses are saved in the system).
– N0rbert
Nov 16 at 12:58
1
1
Why don't you want to edit
sources.list
? That's kind of the way to do it from the command line. All the GUI tools do is manipulate that file anyway.– terdon♦
Nov 16 at 12:48
Why don't you want to edit
sources.list
? That's kind of the way to do it from the command line. All the GUI tools do is manipulate that file anyway.– terdon♦
Nov 16 at 12:48
So you're OK if the solution does edit the file just as long as the solution isn't "go edit the file yourself"? SO, for instance, a sed command would work for you? If so, please show us an example of the alternate mirror's URL.
– terdon♦
Nov 16 at 12:56
So you're OK if the solution does edit the file just as long as the solution isn't "go edit the file yourself"? SO, for instance, a sed command would work for you? If so, please show us an example of the alternate mirror's URL.
– terdon♦
Nov 16 at 12:56
My main idea is the following. I need to switch mirror with one simple command as equivalent of picking one from Download from list in
software-properties-gtk
(also it is interesting where mirror addresses are saved in the system).– N0rbert
Nov 16 at 12:58
My main idea is the following. I need to switch mirror with one simple command as equivalent of picking one from Download from list in
software-properties-gtk
(also it is interesting where mirror addresses are saved in the system).– N0rbert
Nov 16 at 12:58
add a comment |
2 Answers
2
active
oldest
votes
up vote
4
down vote
Some solution (tested on my Ubuntu 18.04.1 LTS): https://github.com/jblakeman/apt-select.git
Install:
pip install apt-select
or:
pip3 install apt-select
Adding script to PATH to run it from everywhere (make it permanent):
export PATH=$PATH:~/.local/bin/apt-select
Examples usage:
Get the top mirror from the United States to generate a new sources.list::
apt-select --country US
Choose from the top 3 mirrors, including those last updated a week ago::
apt-select -c -t 3 -m one-week-behind
Select from 5 US mirrors with the lowest latency to your machine:
$ apt-select --country US -t 5 --choose
Thank you. Fixed last example.
– S_Flash
Nov 16 at 14:08
add a comment |
up vote
1
down vote
accepted
List of mirror servers are retrieved by Python library (the get_server_list
procedure is defined in /usr/lib/python3/dist-packages/aptsources/distro.py
and called from /usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py
).
The solution is to use tool named apt-mirror-updater
. It is installable from pip
/pip3
:
sudo pip3 install apt-mirror-updater
Functionality:
Usage: apt-mirror-updater [OPTIONS]
The apt-mirror-updater program automates robust apt-get mirror
selection for Debian and Ubuntu by enabling discovery of available
mirrors, ranking of available mirrors, automatic switching between
mirrors and robust package list updating.
Supported options:
-r, --remote-host=SSH_ALIAS
Operate on a remote system instead of the local system. The SSH_ALIAS
argument gives the SSH alias of the remote host. It is assumed that the
remote account has root privileges or password-less sudo access.
-f, --find-current-mirror
Determine the main mirror that is currently configured in
/etc/apt/sources.list and report its URL on standard output.
-b, --find-best-mirror
Discover available mirrors, rank them, select the best one and report its
URL on standard output.
-l, --list-mirrors
List available (ranked) mirrors on the terminal in a human readable format.
-c, --change-mirror=MIRROR_URL
Update /etc/apt/sources.list to use the given MIRROR_URL.
-a, --auto-change-mirror
Discover available mirrors, rank the mirrors by connection speed and update
status and update /etc/apt/sources.list to use the best available mirror.
-u, --update, --update-package-lists
Update the package lists using `apt-get update', retrying on failure and
automatically switch to a different mirror when it looks like the current
mirror is being updated.
-x, --exclude=PATTERN
Add a pattern to the mirror selection blacklist. PATTERN is expected to be
a shell pattern (containing wild cards like `?' and `*') that is matched
against the full URL of each mirror.
-m, --max=COUNT
Don't query more than COUNT mirrors for their connection status
(defaults to 50). If you give the number 0 no limit will be applied.
Because Ubuntu mirror discovery can report more than 300 mirrors it's
useful to limit the number of mirrors that are queried, otherwise the
ranking of mirrors will take a long time (because over 300 connections
need to be established).
-v, --verbose
Increase logging verbosity (can be repeated).
-q, --quiet
Decrease logging verbosity (can be repeated).
-h, --help
Show this message and exit.
So it allows to find best mirror and apply it to /etc/apt/sources.list
:
sudo apt-mirror-updater --auto-change-mirror
Also it allows to select mirror by URL and apply it to /etc/apt/sources.list
:
$ apt-mirror-updater --list-mirrors
-----------------------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
-----------------------------------------------------------------------------------------------------------------------
| 1 | http://mirror.timeweb.ru/ubuntu | Yes | No | Up to date | 6.49 KB/s |
| 2 | http://no.archive.ubuntu.com/ubuntu | Yes | No | Up to date | 6.38 KB/s |
| 3 | http://ftp.aso.ee/ubuntu | Yes | No | Up to date | 5.62 KB/s |
| 4 | http://mirror.plusserver.com/ubuntu/ubuntu | Yes | No | Up to date | 4.77 KB/s |
| 5 | http://nl.archive.ubuntu.com/ubuntu | Yes | No | Up to date | 4.68 KB/s |
...
and then select mirror by hand:
sudo apt-mirror-updater -c "http://mirror.timeweb.ru/ubuntu"
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
4
down vote
Some solution (tested on my Ubuntu 18.04.1 LTS): https://github.com/jblakeman/apt-select.git
Install:
pip install apt-select
or:
pip3 install apt-select
Adding script to PATH to run it from everywhere (make it permanent):
export PATH=$PATH:~/.local/bin/apt-select
Examples usage:
Get the top mirror from the United States to generate a new sources.list::
apt-select --country US
Choose from the top 3 mirrors, including those last updated a week ago::
apt-select -c -t 3 -m one-week-behind
Select from 5 US mirrors with the lowest latency to your machine:
$ apt-select --country US -t 5 --choose
Thank you. Fixed last example.
– S_Flash
Nov 16 at 14:08
add a comment |
up vote
4
down vote
Some solution (tested on my Ubuntu 18.04.1 LTS): https://github.com/jblakeman/apt-select.git
Install:
pip install apt-select
or:
pip3 install apt-select
Adding script to PATH to run it from everywhere (make it permanent):
export PATH=$PATH:~/.local/bin/apt-select
Examples usage:
Get the top mirror from the United States to generate a new sources.list::
apt-select --country US
Choose from the top 3 mirrors, including those last updated a week ago::
apt-select -c -t 3 -m one-week-behind
Select from 5 US mirrors with the lowest latency to your machine:
$ apt-select --country US -t 5 --choose
Thank you. Fixed last example.
– S_Flash
Nov 16 at 14:08
add a comment |
up vote
4
down vote
up vote
4
down vote
Some solution (tested on my Ubuntu 18.04.1 LTS): https://github.com/jblakeman/apt-select.git
Install:
pip install apt-select
or:
pip3 install apt-select
Adding script to PATH to run it from everywhere (make it permanent):
export PATH=$PATH:~/.local/bin/apt-select
Examples usage:
Get the top mirror from the United States to generate a new sources.list::
apt-select --country US
Choose from the top 3 mirrors, including those last updated a week ago::
apt-select -c -t 3 -m one-week-behind
Select from 5 US mirrors with the lowest latency to your machine:
$ apt-select --country US -t 5 --choose
Some solution (tested on my Ubuntu 18.04.1 LTS): https://github.com/jblakeman/apt-select.git
Install:
pip install apt-select
or:
pip3 install apt-select
Adding script to PATH to run it from everywhere (make it permanent):
export PATH=$PATH:~/.local/bin/apt-select
Examples usage:
Get the top mirror from the United States to generate a new sources.list::
apt-select --country US
Choose from the top 3 mirrors, including those last updated a week ago::
apt-select -c -t 3 -m one-week-behind
Select from 5 US mirrors with the lowest latency to your machine:
$ apt-select --country US -t 5 --choose
edited Nov 16 at 14:07
answered Nov 16 at 13:33
S_Flash
1,061317
1,061317
Thank you. Fixed last example.
– S_Flash
Nov 16 at 14:08
add a comment |
Thank you. Fixed last example.
– S_Flash
Nov 16 at 14:08
Thank you. Fixed last example.
– S_Flash
Nov 16 at 14:08
Thank you. Fixed last example.
– S_Flash
Nov 16 at 14:08
add a comment |
up vote
1
down vote
accepted
List of mirror servers are retrieved by Python library (the get_server_list
procedure is defined in /usr/lib/python3/dist-packages/aptsources/distro.py
and called from /usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py
).
The solution is to use tool named apt-mirror-updater
. It is installable from pip
/pip3
:
sudo pip3 install apt-mirror-updater
Functionality:
Usage: apt-mirror-updater [OPTIONS]
The apt-mirror-updater program automates robust apt-get mirror
selection for Debian and Ubuntu by enabling discovery of available
mirrors, ranking of available mirrors, automatic switching between
mirrors and robust package list updating.
Supported options:
-r, --remote-host=SSH_ALIAS
Operate on a remote system instead of the local system. The SSH_ALIAS
argument gives the SSH alias of the remote host. It is assumed that the
remote account has root privileges or password-less sudo access.
-f, --find-current-mirror
Determine the main mirror that is currently configured in
/etc/apt/sources.list and report its URL on standard output.
-b, --find-best-mirror
Discover available mirrors, rank them, select the best one and report its
URL on standard output.
-l, --list-mirrors
List available (ranked) mirrors on the terminal in a human readable format.
-c, --change-mirror=MIRROR_URL
Update /etc/apt/sources.list to use the given MIRROR_URL.
-a, --auto-change-mirror
Discover available mirrors, rank the mirrors by connection speed and update
status and update /etc/apt/sources.list to use the best available mirror.
-u, --update, --update-package-lists
Update the package lists using `apt-get update', retrying on failure and
automatically switch to a different mirror when it looks like the current
mirror is being updated.
-x, --exclude=PATTERN
Add a pattern to the mirror selection blacklist. PATTERN is expected to be
a shell pattern (containing wild cards like `?' and `*') that is matched
against the full URL of each mirror.
-m, --max=COUNT
Don't query more than COUNT mirrors for their connection status
(defaults to 50). If you give the number 0 no limit will be applied.
Because Ubuntu mirror discovery can report more than 300 mirrors it's
useful to limit the number of mirrors that are queried, otherwise the
ranking of mirrors will take a long time (because over 300 connections
need to be established).
-v, --verbose
Increase logging verbosity (can be repeated).
-q, --quiet
Decrease logging verbosity (can be repeated).
-h, --help
Show this message and exit.
So it allows to find best mirror and apply it to /etc/apt/sources.list
:
sudo apt-mirror-updater --auto-change-mirror
Also it allows to select mirror by URL and apply it to /etc/apt/sources.list
:
$ apt-mirror-updater --list-mirrors
-----------------------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
-----------------------------------------------------------------------------------------------------------------------
| 1 | http://mirror.timeweb.ru/ubuntu | Yes | No | Up to date | 6.49 KB/s |
| 2 | http://no.archive.ubuntu.com/ubuntu | Yes | No | Up to date | 6.38 KB/s |
| 3 | http://ftp.aso.ee/ubuntu | Yes | No | Up to date | 5.62 KB/s |
| 4 | http://mirror.plusserver.com/ubuntu/ubuntu | Yes | No | Up to date | 4.77 KB/s |
| 5 | http://nl.archive.ubuntu.com/ubuntu | Yes | No | Up to date | 4.68 KB/s |
...
and then select mirror by hand:
sudo apt-mirror-updater -c "http://mirror.timeweb.ru/ubuntu"
add a comment |
up vote
1
down vote
accepted
List of mirror servers are retrieved by Python library (the get_server_list
procedure is defined in /usr/lib/python3/dist-packages/aptsources/distro.py
and called from /usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py
).
The solution is to use tool named apt-mirror-updater
. It is installable from pip
/pip3
:
sudo pip3 install apt-mirror-updater
Functionality:
Usage: apt-mirror-updater [OPTIONS]
The apt-mirror-updater program automates robust apt-get mirror
selection for Debian and Ubuntu by enabling discovery of available
mirrors, ranking of available mirrors, automatic switching between
mirrors and robust package list updating.
Supported options:
-r, --remote-host=SSH_ALIAS
Operate on a remote system instead of the local system. The SSH_ALIAS
argument gives the SSH alias of the remote host. It is assumed that the
remote account has root privileges or password-less sudo access.
-f, --find-current-mirror
Determine the main mirror that is currently configured in
/etc/apt/sources.list and report its URL on standard output.
-b, --find-best-mirror
Discover available mirrors, rank them, select the best one and report its
URL on standard output.
-l, --list-mirrors
List available (ranked) mirrors on the terminal in a human readable format.
-c, --change-mirror=MIRROR_URL
Update /etc/apt/sources.list to use the given MIRROR_URL.
-a, --auto-change-mirror
Discover available mirrors, rank the mirrors by connection speed and update
status and update /etc/apt/sources.list to use the best available mirror.
-u, --update, --update-package-lists
Update the package lists using `apt-get update', retrying on failure and
automatically switch to a different mirror when it looks like the current
mirror is being updated.
-x, --exclude=PATTERN
Add a pattern to the mirror selection blacklist. PATTERN is expected to be
a shell pattern (containing wild cards like `?' and `*') that is matched
against the full URL of each mirror.
-m, --max=COUNT
Don't query more than COUNT mirrors for their connection status
(defaults to 50). If you give the number 0 no limit will be applied.
Because Ubuntu mirror discovery can report more than 300 mirrors it's
useful to limit the number of mirrors that are queried, otherwise the
ranking of mirrors will take a long time (because over 300 connections
need to be established).
-v, --verbose
Increase logging verbosity (can be repeated).
-q, --quiet
Decrease logging verbosity (can be repeated).
-h, --help
Show this message and exit.
So it allows to find best mirror and apply it to /etc/apt/sources.list
:
sudo apt-mirror-updater --auto-change-mirror
Also it allows to select mirror by URL and apply it to /etc/apt/sources.list
:
$ apt-mirror-updater --list-mirrors
-----------------------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
-----------------------------------------------------------------------------------------------------------------------
| 1 | http://mirror.timeweb.ru/ubuntu | Yes | No | Up to date | 6.49 KB/s |
| 2 | http://no.archive.ubuntu.com/ubuntu | Yes | No | Up to date | 6.38 KB/s |
| 3 | http://ftp.aso.ee/ubuntu | Yes | No | Up to date | 5.62 KB/s |
| 4 | http://mirror.plusserver.com/ubuntu/ubuntu | Yes | No | Up to date | 4.77 KB/s |
| 5 | http://nl.archive.ubuntu.com/ubuntu | Yes | No | Up to date | 4.68 KB/s |
...
and then select mirror by hand:
sudo apt-mirror-updater -c "http://mirror.timeweb.ru/ubuntu"
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
List of mirror servers are retrieved by Python library (the get_server_list
procedure is defined in /usr/lib/python3/dist-packages/aptsources/distro.py
and called from /usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py
).
The solution is to use tool named apt-mirror-updater
. It is installable from pip
/pip3
:
sudo pip3 install apt-mirror-updater
Functionality:
Usage: apt-mirror-updater [OPTIONS]
The apt-mirror-updater program automates robust apt-get mirror
selection for Debian and Ubuntu by enabling discovery of available
mirrors, ranking of available mirrors, automatic switching between
mirrors and robust package list updating.
Supported options:
-r, --remote-host=SSH_ALIAS
Operate on a remote system instead of the local system. The SSH_ALIAS
argument gives the SSH alias of the remote host. It is assumed that the
remote account has root privileges or password-less sudo access.
-f, --find-current-mirror
Determine the main mirror that is currently configured in
/etc/apt/sources.list and report its URL on standard output.
-b, --find-best-mirror
Discover available mirrors, rank them, select the best one and report its
URL on standard output.
-l, --list-mirrors
List available (ranked) mirrors on the terminal in a human readable format.
-c, --change-mirror=MIRROR_URL
Update /etc/apt/sources.list to use the given MIRROR_URL.
-a, --auto-change-mirror
Discover available mirrors, rank the mirrors by connection speed and update
status and update /etc/apt/sources.list to use the best available mirror.
-u, --update, --update-package-lists
Update the package lists using `apt-get update', retrying on failure and
automatically switch to a different mirror when it looks like the current
mirror is being updated.
-x, --exclude=PATTERN
Add a pattern to the mirror selection blacklist. PATTERN is expected to be
a shell pattern (containing wild cards like `?' and `*') that is matched
against the full URL of each mirror.
-m, --max=COUNT
Don't query more than COUNT mirrors for their connection status
(defaults to 50). If you give the number 0 no limit will be applied.
Because Ubuntu mirror discovery can report more than 300 mirrors it's
useful to limit the number of mirrors that are queried, otherwise the
ranking of mirrors will take a long time (because over 300 connections
need to be established).
-v, --verbose
Increase logging verbosity (can be repeated).
-q, --quiet
Decrease logging verbosity (can be repeated).
-h, --help
Show this message and exit.
So it allows to find best mirror and apply it to /etc/apt/sources.list
:
sudo apt-mirror-updater --auto-change-mirror
Also it allows to select mirror by URL and apply it to /etc/apt/sources.list
:
$ apt-mirror-updater --list-mirrors
-----------------------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
-----------------------------------------------------------------------------------------------------------------------
| 1 | http://mirror.timeweb.ru/ubuntu | Yes | No | Up to date | 6.49 KB/s |
| 2 | http://no.archive.ubuntu.com/ubuntu | Yes | No | Up to date | 6.38 KB/s |
| 3 | http://ftp.aso.ee/ubuntu | Yes | No | Up to date | 5.62 KB/s |
| 4 | http://mirror.plusserver.com/ubuntu/ubuntu | Yes | No | Up to date | 4.77 KB/s |
| 5 | http://nl.archive.ubuntu.com/ubuntu | Yes | No | Up to date | 4.68 KB/s |
...
and then select mirror by hand:
sudo apt-mirror-updater -c "http://mirror.timeweb.ru/ubuntu"
List of mirror servers are retrieved by Python library (the get_server_list
procedure is defined in /usr/lib/python3/dist-packages/aptsources/distro.py
and called from /usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py
).
The solution is to use tool named apt-mirror-updater
. It is installable from pip
/pip3
:
sudo pip3 install apt-mirror-updater
Functionality:
Usage: apt-mirror-updater [OPTIONS]
The apt-mirror-updater program automates robust apt-get mirror
selection for Debian and Ubuntu by enabling discovery of available
mirrors, ranking of available mirrors, automatic switching between
mirrors and robust package list updating.
Supported options:
-r, --remote-host=SSH_ALIAS
Operate on a remote system instead of the local system. The SSH_ALIAS
argument gives the SSH alias of the remote host. It is assumed that the
remote account has root privileges or password-less sudo access.
-f, --find-current-mirror
Determine the main mirror that is currently configured in
/etc/apt/sources.list and report its URL on standard output.
-b, --find-best-mirror
Discover available mirrors, rank them, select the best one and report its
URL on standard output.
-l, --list-mirrors
List available (ranked) mirrors on the terminal in a human readable format.
-c, --change-mirror=MIRROR_URL
Update /etc/apt/sources.list to use the given MIRROR_URL.
-a, --auto-change-mirror
Discover available mirrors, rank the mirrors by connection speed and update
status and update /etc/apt/sources.list to use the best available mirror.
-u, --update, --update-package-lists
Update the package lists using `apt-get update', retrying on failure and
automatically switch to a different mirror when it looks like the current
mirror is being updated.
-x, --exclude=PATTERN
Add a pattern to the mirror selection blacklist. PATTERN is expected to be
a shell pattern (containing wild cards like `?' and `*') that is matched
against the full URL of each mirror.
-m, --max=COUNT
Don't query more than COUNT mirrors for their connection status
(defaults to 50). If you give the number 0 no limit will be applied.
Because Ubuntu mirror discovery can report more than 300 mirrors it's
useful to limit the number of mirrors that are queried, otherwise the
ranking of mirrors will take a long time (because over 300 connections
need to be established).
-v, --verbose
Increase logging verbosity (can be repeated).
-q, --quiet
Decrease logging verbosity (can be repeated).
-h, --help
Show this message and exit.
So it allows to find best mirror and apply it to /etc/apt/sources.list
:
sudo apt-mirror-updater --auto-change-mirror
Also it allows to select mirror by URL and apply it to /etc/apt/sources.list
:
$ apt-mirror-updater --list-mirrors
-----------------------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
-----------------------------------------------------------------------------------------------------------------------
| 1 | http://mirror.timeweb.ru/ubuntu | Yes | No | Up to date | 6.49 KB/s |
| 2 | http://no.archive.ubuntu.com/ubuntu | Yes | No | Up to date | 6.38 KB/s |
| 3 | http://ftp.aso.ee/ubuntu | Yes | No | Up to date | 5.62 KB/s |
| 4 | http://mirror.plusserver.com/ubuntu/ubuntu | Yes | No | Up to date | 4.77 KB/s |
| 5 | http://nl.archive.ubuntu.com/ubuntu | Yes | No | Up to date | 4.68 KB/s |
...
and then select mirror by hand:
sudo apt-mirror-updater -c "http://mirror.timeweb.ru/ubuntu"
answered Nov 16 at 14:04
N0rbert
19.5k54390
19.5k54390
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1093451%2fhow-to-switch-apt-mirror-from-the-commandline%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Why don't you want to edit
sources.list
? That's kind of the way to do it from the command line. All the GUI tools do is manipulate that file anyway.– terdon♦
Nov 16 at 12:48
So you're OK if the solution does edit the file just as long as the solution isn't "go edit the file yourself"? SO, for instance, a sed command would work for you? If so, please show us an example of the alternate mirror's URL.
– terdon♦
Nov 16 at 12:56
My main idea is the following. I need to switch mirror with one simple command as equivalent of picking one from Download from list in
software-properties-gtk
(also it is interesting where mirror addresses are saved in the system).– N0rbert
Nov 16 at 12:58