Reflector (Русский)

From ArchWiki
Jump to: navigation, search

Ссылки по теме

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

Reflector — скрипт, который автоматизирует процесс настройки зеркал, включающий в себя загрузку свежего списка зеркал со страницы Mirror Status, фильтрацию из них наиболее обновленных, сортировку по скорости и сохранение в /etc/pacman.d/mirrorlist.

Установка

Установите reflector, доступный в официальных репозиториях.

Использование

Важно:
  • Обязательно сделайте резервную копию файла /etc/pacman.d/mirrorlist:
# cp -vf /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
  • После обновления /etc/pacman.d/mirrorlist, взгляните на содержимое файла и убедитесь, что он не содержит подозрительных зеркал перед тем, как выполнять синхронизацию базы данных пакетов pacman.

Чтобы увидеть список всех доступных опций, наберите

# reflector --help

Примеры

Пример 1

Следующая команда отфильтрует пять зеркал, отсортирует их по скорости и обновит файл mirrorlist:

# reflector --verbose -l 5 --sort rate --save /etc/pacman.d/mirrorlist

Пример 2

Эта команда подробно выведет список 200 наиболее недавно обновленных HTTP-зеркал, отсортирует их по скорости загрузки и обновит mirrorlist:

# reflector --verbose -l 200 -p http --sort rate --save /etc/pacman.d/mirrorlist

Пример 3

То же, что и в предыдущем примере, но будут взяты только зеркала, расположенные в Соединенных Штатах:

# reflector --verbose --country 'United States' -l 200 -p http --sort rate --save /etc/pacman.d/mirrorlist

Служба systemd

/etc/systemd/system/reflector.service
[Unit]
Description=Pacman mirrorlist update

[Service]
Type=oneshot
ExecStart=/usr/bin/reflector --protocol http --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist

Теперь запуск # systemctl start reflector разово обновит ваш mirrorlist.

Для обновления списка зеркал при каждой загрузке системы, используйте следующий файл юнита:

/etc/systemd/system/reflector.service
[Unit]
Description=Pacman mirrorlist update
Requires=network.target
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/reflector --protocol http --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist

[Install]
RequiredBy=network.target

И включите службу reflector.service.

Для того, чтобы она работала, цель network.target должна правильно означать, что установлено интернет-соединение.

Таймер systemd

Если вы хотите запускать reflector.service, скажем, раз в неделю:

/etc/systemd/system/reflector.timer
[Unit]
Description=Run reflector weekly

[Timer]
OnCalendar=weekly
AccuracySec=12h
Persistent=true

[Install]
WantedBy=timers.target

Сохраните файл и включите таймер:

# systemctl enable reflector.timer