apt-select
Find a fast, up-to-date Ubuntu Archive Mirror.
Features
- Tests latency to mirrors in a given country’s mirror list at mirrors.ubuntu.com.
3 requests are sent to each mirror, minumum round trip time being used for rank.
- Reports latency, status, and bandwidth capacity of the fastest mirrors in a ranked list.
Status and bandwidth are scraped from launchpad.
- Generates sources.list file using new mirror.
New mirror can be chosen from a list or selected automatically using the top ranked mirror (default).
Installation
Target most recent release:
pip install apt-select
or:
pip3 install apt-select
Target project master branch:
pip install git+https://github.com/jblakeman/apt-select.git
or:
git clone https://github.com/jblakeman/apt-select python apt-select/setup.py install
Invocation
$ apt-select --help
usage: apt-select [-h] [-C [COUNTRY]] [-t [NUMBER]] [-m [STATUS] | -p]
[-c | -l]
Find the fastest Ubuntu apt mirrors.
Generate new sources.list file.
optional arguments:
-h, --help show this help message and exit
-C [COUNTRY], --country [COUNTRY]
specify a country to test its list of mirrors
used to match country list file names found at mirrors.ubuntu.com
COUNTRY should follow ISO 3166-1 alpha-2 format
default: US
-t [NUMBER], --top-number [NUMBER]
specify number of mirrors to return
default: 1
-m [STATUS], --min-status [STATUS]
return mirrors with minimum status
choices:
up-to-date
one-day-behind
two-days-behind
one-week-behind
unknown
default: up-to-date
-p, --ping-only rank mirror(s) by latency only, disregard status(es)
cannot be used with -m/--min-status
-c, --choose choose mirror from a list
requires -t/--top-num NUMBER where NUMBER > 1
-l, --list print list of mirrors only, don't generate file
cannot be used with -c/--choose
The exit code is 0 on success, 1 on error, and 4 if sources.list already has the chosen
mirror and a new one was not generated.
Examples
Get the top mirror from the United Kingdom to generate a new sources.list::
apt-select --country GB
Choose from the top 3 mirrors, including those last updated a week ago::
apt-select -c -t 3 -m one-week-behind
Find the top 10 mirrors, output latency info only, and don’t generate new sources.list::
apt-select -t 10 -p -l
After new sources.list is generated in current working directory, backup and replace to update apt::
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup && \ sudo mv sources.list /etc/apt/
Supported URI Types
Currently, http, https and ftp are supported.
/etc/apt/sources.list should contain sources in the following format::
[deb|deb-src] [http|https|ftp]://mirror.example.com/path [component1] [component2] [...]
Dependencies
Python HTML parser, BeautifulSoup.
HTTP Requests library, requests.
Release files for apt-select 2.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| apt-select-2.2.1.tar.gz | 12.7 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| apt_select-2.2.1-py3.7.egg | Legacy Egg format | - | - | Details |
| apt_select-2.2.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 54.5 kB
Release files / apt-select-2.2.1.tar.gz
| Download URL | apt-select-2.2.1.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f59234eeb8919b0a4651cbf4d807397d407d6c89773255a5add9dcee20ce21e4
|
|
BLAKE2b-256 checksum How to use checksums |
4702e81dc2114817e1aa02110f8e8ae3de6f14ec1ff25be3828e37741d7c3b29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2
|
Release files / apt_select-2.2.1-py3.7.egg
| Download URL | apt_select-2.2.1-py3.7.egg |
|---|---|
| Size | 27.6 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
7463f3acf09a84e236b2952297e48e40930d52614b2372af0e15f226e401b8d9
|
|
BLAKE2b-256 checksum How to use checksums |
3a9f9ceb3ac213149f8121d9b62c04a30f18b7a9ae5b105f147a68db68a4598b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2
|
Release files / apt_select-2.2.1-py2.py3-none-any.whl
| Download URL | apt_select-2.2.1-py2.py3-none-any.whl |
|---|---|
| Size | 14.2 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
7139c0076f5fccd8599b2fa6ec45a4a8326c0826803ae0aa749ed51a5a903377
|
|
BLAKE2b-256 checksum How to use checksums |
988336b72b6a5bd6ac5c37854cfc3baa4b111f568818cd92973681bd2f7dfa69
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2
|