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.