March, 2018
pacman-mirrors - generate pacman mirrorlist for Manjaro Linux
pacman-mirrors [-h] [-f [NUMBER]] [-i [-d]] [-m METHOD] [-c COUNTRY [COUNTRY…] | [–geoip]] [-l] [-lc] [-q] [-s] [-t SECONDS] [-v] [-n] [–api] [-S/-B BRANCH] [-p PREFIX] [-P PROTO [PROTO…]] [-R] [-U URL]
Generates mirrorlist with up-to-date mirrors for Manjaro Linux. Default is to rank all mirrors by reponse time. If no arguments are given pacman-mirrors lists available options. Pacman-mirrors requires access to files which are read-only so it must be run with su or sudo.
To create a mirrorlist using all default use
pacman-mirrors -f
The mirrorlist generation process can be refined through arguments and arguments with options, for example
pacman-mirrors --country Denmark --timeout 5
After all operations ALWAYS syncronize and update your system with
sudo pacman -Syyu
Pacman-mirrors tries to provide ONLY up-to-date mirrors if they are available in your chosen mirror pool. This means - at any given time - the number of available mirrors will vary depending on when the mirror last syncronized with the master repo server. If no up-to-date mirrors is available in your chosen mirror pool, your mirror list will not be changed. This behavior can be overridden if so desired by using the -s/–no-status switch.
To be able to download the latest status file from repo.manjaro.org pacman-mirrors verifies network connection by opening up to three different websites. These sites are
The sites are chosen due to their generic nature and general availability.
/etc/pacman-mirrors.conf
/etc/pacman.d/mirrorlist
pacman
uses to update your system./usr/share/pacman-mirrors/mirrors.json
/var/lib/pacman-mirrors/status.json
/var/lib/pacman-mirrors/custom-mirrors.json
-i/--interactive
or -c/--country
argument.If you are stunned by this message
.: WARNING No mirrors in selection
.: INFO The mirrors has not changed
This is not an error, it is a feature. The reason: You have limited your mirror pool too much and none of your selected mirrors are up-to-date.
Suggested solutions:
pacman-mirrors -c all -aP all
Some options are mutual exclusive and will throw an arguments error:
Some arguments requires another argument present to have effect. If such conditions rise pacman-mirrors will throw an arguments error.
The arguments can appear in any order except for arguments which takes additional options in which case the options must follow immediately after the argument with or without space, for example
pacman-mirrors -f
pacman-mirrors -f 5
pacman-mirrors -f5
Pacman-mirrors always attempt to download the lastest available data from http://repo.manjaro.org. These data is always used during mirrorlist generation to ensure that you connect to a mirror which is up-to-date for your systems branch.
0 : OK
1 : Problem with argument
2 : Problem accessing systemfiles
3 : Missing mirror file
BRANCH: Value from config
At launch an internal default configuration is setup, file configuration is applied then the commandline is parsed and applied.
The arguments modifies key elements of pacman-mirrors configuration according to the users needs.
The actions performed by the API are in strict order and performed before any other actions. This also means that ordinary arguments supplied in conjunction with api might be ignored. Eg. -U argument terminates pacman-mirrors when branch and mirrorlist has been written.
When done pacman-mirrors checks the internet connection and if possible download the latest datafiles for creating the mirrorlist. At this point it is possible to interrupt further processing.
If the -n/–no-mirrorlist argument is present pacman-mirrors will now exit.
Most optional arguments are self explaining others require explanation. The API functions is mainly designed to help packagers and iso-builders. However it can be of use for everyone because it takes the hazzle out of editing your pacman-mirrors configuration.
Which countries has mirrors?
pacman-mirrors –country-list
Which countries in my custom mirror pool
*pacman-mirrors –country-config
What branch am I on
pacman-mirrors –get-branch
I want to permanently change branch to unstable, use mirrors from Germany and France, use only https and http protocol in that order
sudo pacman-mirrors –country Germany,France –api –set-branch unstable –procotol https http
Create a mirrorlist with German mirrors
sudo pacman-mirrors –country Germany
If you want more countries in your mirrorlist add them they will be written to your custom mirror pool
sudo pacman-mirrors –country Germany France Denmark
Create a mirrorlist with 5 mirrors up-to-date on your branch
sudo pacman-mirrors –fastrack 5
I want to choose my mirrors
sudo pacman-mirrors –interactive
I have a custom mirror list and I want to create a new custom mirror list?
sudo pacman-mirrors –interactive –default
I have a custom mirror list - can I reset it?
sudo pacman-mirrors –country all
Change system branch and dont change the mirrorlist
sudo pacman-mirrors -naS unstable
Change system branch and replace branch in mirrorlist and quit
sudo pacman-mirrors -naRS unstable
Change protocols you will accept but dont touch the mirrorlist
sudo pacman-mirrors -naP https http
A packager can write directly to a mounted systems datafiles using either a path or an environment variable replacing the branch in both configuration and mirrorlist leaving the mirrors as is
sudo pacman-mirrors -anR -p $prefix -S $branch -P https
It is also possible to specify a mirror in which case the mirrorlist is created and pacman-mirrors terminate
sudo pacman-mirrors -ap $prefix -S $branch -U $url
https://github.com/manjaro/pacman-mirrors/issues
The pacman-mirrors source code and all documentation may be downloaded from https://github.com/manjaro/pacman-mirrors/archive/master.zip
Esclapion <esclapion@manjaro.org>
philm <philm@manjaro.org>
Ramon Buldó <rbuldo@gmail.com>
Hugo Posnic <huluti@manjaro.org>
Frede Hundewadt <echo ZmhAbWFuamFyby5vcmcK | base64 -d>