% pacman-mirrors(8) Pacman-Mirrors 4.10.x User Manual % % March, 2018

NAME

pacman-mirrors - generate pacman mirrorlist for Manjaro Linux

SYNOPSIS

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]

DESCRIPTION

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

IMPORTANT

After all operations ALWAYS syncronize and update your system with

sudo pacman -Syyu

OPERATION

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.

Network connection

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

  1. wikipedia.org
  2. github.com
  3. bitbucket.org

The sites are chosen due to their generic nature and general availability.

MODES

  1. The number of mirrors
  2. pacman-mirrors -f [number]
  3. More control (custom mirror pool)
  4. -c COUNTRY[[,COUNTRY]...]
  5. Full control (custom mirror pool)
  6. -i [-d/--default]

FILES OVERVIEW

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:

GENERAL INFO ABOUT ARGUMENTS

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.

ARGUMENTS, METHODS AND OPTIONS

METHODS

-c, --country COUNTRY [[COUNTRY]...] : Creates a custom mirror pool with supplied countries.

-f, --fasttrack [NUMBER] : Generates a random mirrorlist for the users current selected branch, mirrors are randomly selected from the users current mirror pool, either a custom pool or the default pool, the randomly selected mirrors are ranked by their current access time. The higher number the higher possibility of a fast mirror. If a number is given the resulting mirrorlist contains that number of servers.

-i, --interactive [--default] : This is a function designed to leave full control over countries, mirrors and protocols to the user. This function DOES NOT take into consideration up-to-date mirrors. The optional --default forces pacman-mirrors to load the default mirror file and ignore any preset custom pool, thus allowing for reselecting mirrors for a new custom pool.

API

-a, --api : Instructs pacman-mirrors to activate processing of API arguments.

-B, -S, --set-branch BRANCH : Permanent change branch, using stable, testing or unstable.

-p, --prefix PREFIX : Add a path prefix to pacman-mirrors file-handling eg. /mnt/install or $mnt.

-P, --proto, --protocols PROTO [PROTO] ... : Write protocols to configuration, using all or http, https, ftp and ftps.

-R, --re-branch : Replace branch in mirrorlist.

-U, --url URL : Replace mirrorlist with supplied url.

MISC

-G, --get-branch : Return branch from configuration.

-g--geoip : Use geolocation if possible, if geoip is not available all mirrors.

-h, --help : Show the help message.

-l, --list, --country-list : Lists available mirror countries.

-lc, --country-config : Lists custom selected countries.

-m, --method METHOD : Default method is rank but random can be selected.

-n, --no-mirrorlist : Use to skip generation of mirrorlist.

-q, --quiet : Make pacman-mirrors silent.

-s, --no-status : Ignore up-to-date status for system branch.

-t, --timeout SECONDS : Change the number of seconds waiting for a server response, SSL enabled mirrors has this value doubled to compensate for the time spent on exchanging encryption keys.

-v, --version : Show the version of pacman-mirrors.

Exit status:

0     : OK
1     : Problem with argument
2     : Problem accessing systemfiles
3     : Missing mirror file
BRANCH: Value from config

Configuration flow of pacman-mirrors

At launch an internal default configuration is setup, file configuration is applied then the commandline is parsed and applied.

API arguments

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.

  1. If p PREFIX
  2. add PREFIX to internal file configuration
  3. If -S/-B BRANCH
  4. apply BRANCH to internal configuration
  5. replace branch in pacman-mirrors.conf with BRANCH
  6. If -U URL
  7. apply internal configuration to a mirrorlist with URL
  8. sys.exit(0)
  9. If -P PROTO [PROTO] ...
  10. replace protocols in pacman-mirrors.conf with PROTO
  11. If -R
  12. replace branch in mirrorlist with -S/-B BRANCH

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.

EXAMPLES

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.

Commands

Commands requiring sudo

Advanced use samples - BEWARE OF THE DRAGONS

MORE INFO

REPORTING BUGS

https://github.com/manjaro/pacman-mirrors/issues

SEE ALSO

The pacman-mirrors source code and all documentation may be downloaded from https://github.com/manjaro/pacman-mirrors/archive/master.zip

AUTHORS

Esclapion <esclapion@manjaro.org>
philm <philm@manjaro.org>
Ramon Buldó <rbuldo@gmail.com>
Hugo Posnic <huluti@manjaro.org>
Frede Hundewadt <echo ZmhAbWFuamFyby5vcmcK | base64 -d>