Reflector (Русский)
Reflector — скрипт, который автоматизирует процесс настройки зеркал, включающий в себя загрузку свежего списка зеркал со страницы Mirror Status, фильтрацию из них наиболее обновленных, сортировку по скорости и сохранение в /etc/pacman.d/mirrorlist.
Установка
Установите пакет reflector.
Использование
- Приведённые примеры перезапишут
/etc/pacman.d/mirrorlist. Заранее сделайте его резервную копию. - После обновления
/etc/pacman.d/mirrorlist, взгляните на содержимое файла и убедитесь, что он не содержит подозрительных зеркал перед тем, как выполнять синхронизацию базы данных пакетов pacman.
Чтобы увидеть список всех доступных опций, наберите
# reflector --help
Примеры
Смотрите reflector(1) § EXAMPLES. Примеры, перезаписывающие /etc/pacman.d/mirrorlist нужно запускать от имени root.
--country 'France,Germany,'.[1]
Автоматизация
Служба systemd
Reflector поставляется с reflector.service. Служба запускает reflector с параметрами, указанными /etc/xdg/reflector/reflector.conf. Опции по умолчанию должны быть хорошей отправной точкой.
Например, чтобы выбрать 5 наиболее актуальных (up-to-date) зеркал из Франции и Германии с поддержкой HTTPS и перезаписать /etc/pacman.d/mirrorlist, используйте
/etc/xdg/reflector/reflector.conf
--save /etc/pacman.d/mirrorlist --country France,Germany --protocol https --latest 5
Включите службу reflector.service для запуска Reflector при загрузке системы. Чтобы запустить его прямо сейчас, запустите эту службу.
reflector.service зависит от службы ожидания сети, настроенной в network-online.target.Таймер systemd
Reflector поставляется с systemd-таймером (reflector.timer), который запускает службу reflector.service еженедельно. расписание можно изменить путём редактирования reflector.timer.
Сперва настройте Reflector как описано в разделе #Служба systemd. После обновления настроек запустите and включите reflector.timer.
Чтобы обновить список зеркал прямо сейчас, не дожидаясь расписания, запустите reflector.service.
pacman hook
Вы можете создать хук pacman, который будет запускать reflector и удалять файл .pacnew после каждого обновления pacman-mirrorlist.
/etc/pacman.d/hooks/mirrorupgrade.hook
[Trigger] Operation = Upgrade Type = Package Target = pacman-mirrorlist [Action] Description = Обновление списка зеркал с помощью reflector и удаление pacnew файла... When = PostTransaction Depends = reflector Exec = /bin/sh -c 'systemctl start reflector.service; [ -f /etc/pacman.d/mirrorlist.pacnew ] && rm /etc/pacman.d/mirrorlist.pacnew'
Пропишите желаемые опции в /etc/xdg/reflector/reflector.conf как описано в разделе #Служба systemd.
Он также предоставляется пакетом reflector-mirrorlist-updateAUR.