Reflector is a Python script which can retrieve the latest mirror list from the Arch Linux Mirror Status page, filter the most up-to-date mirrors, sort them by speed and overwrite the file
Install the package.
- In the following examples,
/etc/pacman.d/mirrorlistwill be overwritten. Make a backup before proceeding.
- Make sure the resulting
/etc/pacman.d/mirrorlistdoes not contain entries that you consider untrustworthy before syncing or updating with pacman.
To see all of the available commands, run the following command:
$ reflector --help
Verbosely rate and sort the five most recently synchronized mirrors by download speed, and overwrite the file
# reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist
Select the 200 most recently synchronized HTTP or HTTPS mirrors, sort them by download speed, and overwrite the file
# reflector --latest 200 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Select the HTTPS mirrors synchronized within the last 12 hours and located in either France or Germany, sort them by download speed, and overwrite the file
# reflector --country 'France,Germany' --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Since version 2020.8, Reflector ships with an enableable
The service will run reflector with the parameters specified in
/etc/xdg/reflector/reflector.conf. This file accepts all of the reflector command-line arguments. Arguments may be grouped together on a single line or split across many lines, with optional blank lines and comment lines beginning with
#. The default configuration file should serve as a good starting point and example.
For example, to select the 5 most up-to-date mirrors from France and Germany that support HTTPS and override
--save /etc/pacman.d/mirrorlist --country France,Germany --protocol https --latest 5
To refresh the mirrorlist ahead of schedule, start
You can create a pacman hook that will start
reflector.service and remove the .pacnew file created every time gets an upgrade.
[Trigger] Operation = Upgrade Type = Package Target = pacman-mirrorlist [Action] Description = Updating pacman-mirrorlist with reflector and removing pacnew... When = PostTransaction Depends = reflector Exec = /bin/sh -c 'systemctl start reflector.service; if [ -f /etc/pacman.d/mirrorlist.pacnew ]; then rm /etc/pacman.d/mirrorlist.pacnew; fi'
Set desired mirror options in
/etc/xdg/reflector/reflector.conf as described in #systemd service.
This is also provided byAUR.