From the Arch Wiki:
Reflector is a script which can retrieve the latest mirror list from the MirrorStatus page, filter the most up-to-date mirrors, sort them by speed and overwrite the file /etc/pacman.d/mirrorlist
.
Instalation
- Install reflector
yay -S reflector
- Create the systemd service
sudo vi /etc/systemd/system/reflector.service
[Unit]
Description=Pacman mirrorlist update
Wants=network-online.target
After=network-online.target nss-lookup.target
[Service]
Type=oneshot
ExecStart=/usr/bin/reflector --verbose --protocol https --country 'Portugal' --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start reflector.service
sudo systemctl status reflector.service
You can enable the service. I prefer to control when the scripts executes.
Refresh your mirror list
You can force a refresh by starting the service:
sudo systemctl start reflector.service
Or every time the pacman-mirrorlist package is updated by creating a hook:
sudo mkdir -p /etc/pacman.d/hooks/
sudo vi /etc/pacman.d/hooks/mirrorupgrade.hook
[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 "reflector --verbose --protocol https --country 'Portugal' --latest 30 --number 20 --s
ort rate --save /etc/pacman.d/mirrorlist; rm -f /etc/pacman.d/mirrorlist.pacnew"
Need more help?
Check the reflector help:
reflector --help
Or check the Arch Wiki.