Jump to content

Reflector

From ArchWiki
Revision as of 15:32, 22 June 2025 by Torontal-varmegye (talk | contribs) (Added Hungarian (Magyar) menu item in the languages ​​menu.)

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 /etc/pacman.d/mirrorlist.

Installation

Install the reflector package.

Usage

Warning In the following examples, /etc/pacman.d/mirrorlist will be overwritten. Make a backup before proceeding and verify the results afterwards.

To see all of the available options, run the following command:

$ reflector --help

Examples

See reflector(1) § EXAMPLES. Examples overwriting /etc/pacman.d/mirrorlist need to be run as root.

Tip To include Worldwide servers, pass an empty string to the country flag. For example, to include France, Germany, and Worldwide mirrors, one should use --country 'France,Germany,'.[1]

Automation

systemd service

Reflector ships with a reflector.service. The service will run reflector with the parameters specified in /etc/xdg/reflector/reflector.conf. The default options in this 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 overwrite /etc/pacman.d/mirrorlist, use

/etc/xdg/reflector/reflector.conf
--save /etc/pacman.d/mirrorlist
--country France,Germany
--protocol https
--latest 5

Enable reflector.service to run Reflector on boot. To run it immediately, start the service.

Note reflector.service depends on a network wait service to be configured via network-online.target.

systemd timer

Reflector provides a systemd timer (reflector.timer) that starts the #systemd service reflector.service weekly. The schedule can be changed by editing reflector.timer.

First edit the configuration file as described in #systemd service. After you have updated the configuration file, start and enable reflector.timer.

To refresh the mirrorlist ahead of schedule, start reflector.service.

pacman hook

pacman-mirrorlist is not updated regularly, invoking reflector only because some mirror in some part of the globe was added or removed is not relevant. Use instead the timer-based automation. If you do not want mirrorlist.pacnew to be installed at all, use NoExtract in /etc/pacman.conf.

See also