Reflector (Русский)
Reflector — это скрипт на Python, который может получить последний список зеркал со страницы 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. После обновления настроек запустите и включите reflector.timer
.
Чтобы обновить список зеркал прямо сейчас, не дожидаясь расписания, запустите reflector.service
.
pacman hook
pacman-mirrorlist обновляется не регулярно, вызов Reflector только потому, что какое-то зеркало в какой-то части земного шара было добавлено или удалено, не актуален. Вместо этого используйте автоматизацию по таймеру. Если вы не хотите, чтобы mirrorlist.pacnew
вообще устанавливался, используйте NoExtract
в pacman.conf
.