Reflector (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Reflector. Дата последней синхронизации: 17 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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.

Совет: Чтобы включить всемирные (Worldwide) сервера, пропишите пустую строку как код страны. Например, чтобы включить Францию, Германию и всемирные зеркала, используйте --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

Tango-edit-cut.pngThis section is being considered for removal.Tango-edit-cut.png

Reason: pacman-mirrorlist is not updated regularly, invoking reflector only because some mirror on the other side of the globe was added or removed does not make sense. It also does not make sense to provide a hook just because it is possible, since the package provides a timer-based automation. Automating the removal of mirrorlist.pacnew does not make sense; if you do not want the file at all, use NoExtract in pacman.conf. (Discuss in Talk:Reflector#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.

Смотрите также