Reflector - поиск наиболее актуальных и быстрых зеркал для Arch Linux

Итак, вы установили Arch. Поздравляем! Одно из первых дел, которое вы должны сделать после этого, – обновить систему. Поскольку Arch Linux – это дистрибутив с выходящими релизами, регулярные обновления через Pacman являются обязательным условием для поддержания системы в рабочем состоянии.

Однако это может раздражать, если у вас низкая скорость загрузки программ. Но что, если я скажу вам, что среди огромного выбора инструментов в Arch есть один, который может значительно увеличить скорость ваших обновлений?

Встречайте Reflector, мощную утилиту в арсенале Arch, с помощью которой подобные неудобства уйдут в прошлое.

Она помогает пользователям выбирать самые быстрые и актуальные зеркала для менеджера пакетов Pacman, что позволяет значительно ускорить установку и обновление программ. Сейчас я покажу вам, как им пользоваться. Но перед этим скажем несколько слов о самой утилите.

Что такое Reflector?

Reflector – это скрипт на языке Python, разработанный для систем Arch Linux. Он сканирует и выбирает самые быстрые и синхронизированные зеркала, основываясь на пропускной способности, времени отклика и времени последнего обновления зеркала.

Он также обновляет список зеркал /etc/pacman.d/mirrorlist для Pacman, гарантируя, что у вас всегда будут лучшие источники для обновления и установки программного обеспечения. Используя Reflector, вы можете:

  • Автоматически ранжировать зеркала по скорости и стабильности.
  • Фильтровать зеркала в зависимости от вашего географического положения.
  • Регулярно обновляйте список зеркал, чтобы обеспечить максимально быструю загрузку пакетов.

Reflector: Автоматически выбирает самые быстрые зеркала

Вот как использовать этот инструмент для поиска самых быстрых и актуальных зеркал, обеспечивающих наилучшую скорость работы вашего компьютера с Pacman.

Установить Reflector

Прежде чем оптимизировать список зеркал, необходимо установить Reflector. Это простая задача. Откройте терминал и выполните следующую команду:

sudo pacman -S reflector rsync

Эта команда загрузит и установит Reflector вместе с необходимыми зависимостями.

Резервное копирование текущего списка зеркал

Далее, прежде чем вносить изменения, рекомендуется сделать резервную копию существующего списка зеркал в файле /etc/pacman.d/mirrorlist.

sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

Однако это не критично, поскольку при необходимости вы можете легко воссоздать его с помощью онлайн-инструмента Arch по адресу https://archlinux.org/mirrorlist/

Выберите предпочтительные страны, обычно свою или соседние, и нажмите кнопку Generate List. В результате будет создан текстовый контент, который можно скопировать и вставить непосредственно в файл /etc/pacman.d/mirrorlist.

Получите самые актуальные зеркала Arch

Не все зеркала одинаково актуальны, так как интервал синхронизации зависит от того, как часто администраторы каждого зеркала хотят его установить. Это означает, что некоторые из них могут получить более новое программное обеспечение быстрее, чем другие.

Мы все хотим, чтобы наши системы Arch использовали зеркала, которые предоставляют самые актуальные версии программного обеспечения, то есть были недавно синхронизированы с основными серверами Arch. Это очень легко сделать с помощью Reflector, так как команда, которую нам нужно выполнить, следующая:

sudo reflector --latest 10 --sort rate --save /etc/pacman.d/mirrorlist

В результате вы получите десять последних синхронизированных зеркал, которые будут автоматически добавлены в ваш файл /etc/pacman.d/mirrorlist, заменив его текущее содержимое и отсортировав их по скорости загрузки. Вы можете легко просмотреть окончательный результат, выполнив команду:

cat /etc/pacman.d/mirrorlist

Дополнительно стоит отметить, что команда reflector работает тихо в фоновом режиме, не показывая никаких результатов во время выполнения. Вы также можете увидеть множественное сообщение, подобное этому:

[2024-06-21 08:34:52] WARNING: failed to rate http(s) download (https://mirrors.neusoft.edu.cn/archlinux/extra/os/x86_64/extra.db): Download timed out after 5 second(s).
[2024-06-21 08:34:58] WARNING: failed to rate http(s) download (https://md.mirrors.hacktegic.com/archlinux/extra/os/x86_64/extra.db): Download timed out after 5 second(s).

Не беспокойтесь о них. Это не означает проблемы с самим рефлектором; это просто указывает на то, что зеркало не ответило в течение пяти секунд – стандартный период таймаута, который рефлектор использует для получения данных.

Теперь давайте разберем основные опции команды reflector и то, что каждая из них означает.

  • --latest: Ограничить список n последними синхронизированными серверами.
  • --sort: В этом случае отсортируйте список зеркал по rate, что означает скорость загрузки. Другие возможные варианты: age, country, score и delay.
  • --save: Сохраняет список зеркал в файл по указанному пути.

Мы можем дополнительно улучшить приведенную выше команду, указав Reflector выбрать пять самых быстрых серверов из последних десяти синхронизированных зеркал и перечислить их в файле /etc/pacman.d/mirrorlist. Для этого добавьте опцию --fastest и укажите нужное количество серверов. Команда будет выглядеть следующим образом:

sudo reflector --latest 10 --sort rate --fastest 5 --save /etc/pacman.d/mirrorlist

Теперь рассмотрим другие практические варианты команды reflector.

Выбор серверов только из определенной страны (стран)

Удобной функцией Reflector является возможность тестирования серверов, расположенных только в определенной стране, обычно той же, что и ваша система Arch. Это означает более высокую производительность.

Сделать это можно с помощью опции --country. Если вам интересно, как найти правильные коды для разных стран, выполните приведенную ниже команду, и Reflector отобразит их.

reflector --list-countriesCode language: Bash (bash)

Например, чтобы ограничить серверы только теми, которые расположены в России, можно использовать следующее:

sudo reflector --country "RU" --latest 10 --sort rate --save /etc/pacman.d/mirrorlist

Конечно, мы можем добавить больше стран, если захотим. Просто перечислите их одну за другой, разделяя запятыми. Вот пример с Россия, США и Канадой.

sudo reflector --country "RU,US,CA" --latest 10 --sort rate --save /etc/pacman.d/mirrorlist

Ограничение зеркал Arch по используемому протоколу

Наконец, мы покажем вам, как фильтровать зеркальные серверы по их протоколу. Возможные варианты: http, https и ftp. Это можно сделать с помощью опции --protocol.

Например, вот как проверить и создать файл mirrorlist, содержащий только зеркальные серверы Arch с протоколом https.

sudo reflector --protocol https --latest 10 --sort rate --save /etc/pacman.d/mirrorlist

Как и в случае с кодом страны, несколько протоколов могут быть выбраны через запятую (например, http,https).

Автоматизация процесса

Важно понимать, что самое быстрое зеркало Arch для вас сегодня может оказаться не самым быстрым завтра или на следующей неделе. То же самое касается частоты синхронизации; другое зеркало может начать синхронизироваться чаще.

В связи с этим возникает вопрос, нужно ли регулярно выполнять команду reflector. Ответ – да. И хотя это может показаться утомительным занятием, есть и хорошие новости.

В Reflector есть функция, таймер systemd, который, будучи настроенным, будет автоматически выполнять эту задачу за вас. Он постоянно обновляет файл /etc/pacman.d/mirrorlist, освобождая вас от необходимости запускать его вручную через регулярные промежутки времени.

Новичок в таймерах systemd? Это инструмент планирования в Linux, часть функциональности systemd, который запускает события в указанное время, подобно заданию cron. Теперь вернемся к теме.

Reflector использует конфигурационный файл, расположенный по адресу /etc/xdg/reflector/reflector.conf, для определения своих настроек по умолчанию. Откройте его с помощью предпочитаемого текстового редактора терминала и измените настройки в соответствии с вашими потребностями.

sudo nano /etc/xdg/reflector/reflector.conf

Сохраните файл и выйдите. Далее, чтобы Reflector мог автоматически создавать файл mirrorlist, выполните команду:

sudo systemctl enable --now reflector.timer

Это активирует и запустит таймер для воссоздания mirrorlist. Это еженедельный таймер, который вызывает службу Reflector, выполняющую саму задачу.

Вы можете проверить его состояние, выполнив команду ниже. В выводе должен присутствовать reflector.timer.

sudo systemctl list-timers

Но есть и дополнительная возможность. Как мы уже говорили, Reflector предлагает свой собственный сервис, помимо таймера systemd. Если вы хотите, чтобы файл mirrorlist пересоздавался при каждой загрузке системы Arch, основываясь на настройках в файле /etc/xdg/reflector/reflector.conf, вы можете выполнить команду:

sudo systemctl enable --now reflector.service
Это включит и запустит службу Reflector и немедленно пересоздаст файл.

Заключение

С Reflector в вашем наборе инструментов управление зеркалами Arch Linux становится проще и даже удобнее. Это сэкономит ваше время при обновлениях и улучшит общий пользовательский опыт. Хорошо поддерживаемый список зеркал – это ключ к тому, чтобы наслаждаться всем лучшим, что может предложить Arch, делая каждое обновление быстрым и плавным.

Для получения дополнительной информации посетите man-страницу Reflector или Arch Wiki. Спасибо за использование нашего руководства! Не стесняйтесь делиться своими мыслями в разделе комментариев ниже.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен linuxiac.com

Похожие статьи

Комментарии (0)