create-ml is yet another application to rank Arch
mirrors. It is included in package iso-create-ml. Currently
it is the default app on the ISO for creating file
/etc/pacman.d/mirrorlist for the offline install
mode. However, it can be used for ranking Arch mirrors in online mode,
and on an installed system.
Its prominent online feature is the pre-defined list of recommended mirror countries for each location. The pre-defined list is used for including more mirror sources in addition to the current location. The list can be overridden or disabled by the user.
Another noteworthy feature is parallel mirror ranking which makes it pretty fast.
Use command
create-ml --help
to see the explanation of supported parameters.
| Command | Notes |
|---|---|
create-ml --save |
A simple way to create and save a ranked list of Arch mirrors. |
create-ml --verbose |
Show the mirrorlist (with ranking details) but don't save it. |
create-ml --prefs='fi.*niranjan umea' --save |
Specify some preferred mirrors (using regular expressions) that will
be the first in the list. Note the necessary quotes with option --prefs. |
create-ml --timeout-mirror 2 --save |
Use a timeout for each mirror. Helps discarding unresponsive mirrors. |
File /etc/create-ml-recommended-cc.conf can include a
bash function AddRecommendedCountries that specifies which
additional countries to include in ranking.
The default values
(shown below) should be reasonable for most users, but there
may be reasons to adjust them.
Note that the function below is directly copied from file
/bin/create-ml. If user creates this file with the
function, it overrides the function in create-ml.
All two letter items below are country codes (for example,
de means Germany). A special code ww means
Worldwide.
AddRecommendedCountries() {
# Adding recommended countries for ranking.
# Note that in *offline* install mode we "fall back" to the last branch of the case..esac below
# because the current country is unknown.
case "$country_code" in
al|at|be|cz|dk|ee|es|fr|gb|gr|hr|it|nl|pl|pt|se) additional_mirror_countries+=(ww de fr) ;;
no) additional_mirror_countries+=(ww de se) ;;
'fi') additional_mirror_countries+=(ww se) ;;
de|us) ;;
cn|ru) protocols+=(http) ;;
ca) additional_mirror_countries+=(us) ;;
au) additional_mirror_countries+=(ww) ;;
br|cl|co|mx) additional_mirror_countries+=(ww us); protocols+=(http) ;;
tw) additional_mirror_countries+=(ww sg kr) ;;
kr) additional_mirror_countries+=(ww sg tw) ;;
sg) additional_mirror_countries+=(ww kr tw) ;;
'in') additional_mirror_countries+=(ww de us) ;;
*) additional_mirror_countries+=(ww de us); protocols+=(http) ;;
esac
}
Help appreciated: If you think some listed country or countries need
adjusting above, please go to forum.endeavouros.com and
tell us how we can improve the list.
Some alternative apps for the same purpose:
rami # deprecated!
rate-mirrors
reflector
reflector-simple