Mirrors (Русский)

На этой странице представлено руководство по выбору и настройке зеркал, а также список зеркал, доступных в настоящее время.

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

Официальные зеркала

Список официальных зеркал предоставляется пакетом pacman-mirrorlist. Наиболее свежий список зеркал доступен на странице Pacman Mirrorlist Generator.

Проверить статус зеркал Arch возможно на странице Mirror Status. Рекомендуется использовать только актуальные (синхронизированные) зеркала.

Если вы хотите добавить своё зеркало в официальный список, см. DeveloperWiki:NewMirrors. Тем временем добавьте его в статью Неофициальные зеркала.

IPv6-зеркала

Pacman Mirrorlist Generator можно также использовать для получения списка доступных IPv6-зеркал.

Включение определённого зеркала

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

Например:

# Any
# Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch
Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch

См. #Сортировка зеркал для получения информации об утилитах по выбору зеркал.

Совет:
  • Раскомментируйте 5 наиболее подходящих зеркал и поместите их наверху файла mirrorlist. Таким образом, их можно легко найти и поменять приоритет в случае возникновения проблем с первым зеркалом в списке. Это также упрощает слияние файлов mirrorlist при обновлении.
  • HTTP-зеркала быстрее FTP-зеркал из-за постоянного HTTP-соединения — в случае с FTP, необходимо устанавливать новое соединение с сервером при каждом запросе pacman на скачивание, что приводит к небольшим задержкам.

Также можно указать зеркала в /etc/pacman.conf. В случае с репозиторием [core], по умолчанию это выглядит следующим образом:

[core]
Include = /etc/pacman.d/mirrorlist

Например, если необходимо по умолчанию использовать зеркало HostEurope, укажите его перед строкой Include:

[core]
Server = http://ftp.hosteurope.de/mirror/ftp.archlinux.org/core/os/$arch
Include = /etc/pacman.d/mirrorlist

Теперь pacman будет первым делом пытаться соединиться с этим зеркалом. Аналогично можно сделать и для остальных репозиториев: [testing], [extra] и [community].

Примечание: Если вы указываете зеркала напрямую в pacman.conf, следует использовать одно и то же зеркало для всех репозиториев. В противном случае можно столкнуться с тем, что будут установлены несовместимые версии пакетов, например, linux из [core] и более старые модули ядра из [extra].

Принудительное обновление списка пакетов pacman

Зеркала могут быть рассинхронизированы, из-за чего список пакетов на старом зеркале не будет соответствовать списку на новом зеркале, несмотря на дату, указанную в обоих списках.

После создания файла /etc/pacman.d/mirrorlist или его изменения выполните следующую команду:

# pacman -Syyu
# pacman -Syyuu

Также данная процедура необязательна при использовании временных отметок (timestamps) для обеспечения обновления зеркал.

Сортировка зеркал

При загрузке пакетов pacman использует зеркала в том порядке, в котором они перечислены в /etc/pacman.d/mirrorlist. Порядок серверов в списке задаёт их приоритет.

Сортировать зеркала только по скорости — не самый оптимальный вариант, так как самые быстрые сервера могут быть рассинхронизированы. Рекомендуется сначала отсортировать зеркала по скорости, после чего, в соответствии с их статусом, убрать из списка рассинхронизированые зеркала.

Также рекомендуется повторять данную процедуру перед каждым обновлением системы для поддержания списка зеркал в актуальном состоянии.

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

Пакет предоставляет Bash-скрипт , который можно использовать для ранжирования зеркал в соответствии со скоростями подключения и нахождения наиболее быстрых местных зеркал.

Создайте резервную копию текущего файл /etc/pacman.d/mirrorlist:

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

Необходимо выполнить следующие действия, чтобы подготовить файл mirrorlist.backup к к ранжированию с помощью rankmirrors:

  • Отредактируйте mirrorlist.backup, раскомментировав сервера, которые необходимо протестировать
  • Если сервера в файле сгруппированы по странам, возможно извлечь все сервера определённой страны следующим образом:
  • Выполните следующую команду , чтобы раскомментировать все зеркала:

И наконец, отсортируйте сервера. В данном случае, выводит только 6 наиболее быстрых зеркал:

# rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist

Получение и ранжирование свежего списка зеркал

Воспользуйтесь Pacman Mirrorlist Generator, чтобы получить список актуальных зеркал определённых стран и отсортировать его с помощью rankmirrors. Команда ниже скачивает актуальный список зеркал во Франции и Великобритании, использующих протокол https, после чего удаляет комментарии, ранжирует сервера и выводит 5 наиболее быстрых из них.

$ curl -s "https://archlinux.org/mirrorlist/?country=FR&country=GB&protocol=https&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 5 -

Существующие инструменты:

    Ранжирование на стороне сервера

    Официальный Pacman Mirrorlist Generator предоставляет возможность легко получить ранжированный список зеркал. Весь процесс сортировки происходит на одном сервере с учётом различных факторов, что значительно снижает нагрузку на зеркала и клиентов в сравнении с ранжированием с каждого отдельного клиента.

    Другая популярная альтернатива:

    Решение проблем

    Если вы столкнулись со следующей ошибкой:

    error: config file /etc/pacman.d/mirrorlist could not be read: No such file or directory

    Загрузите список зеркал напрямую с сайта:

    # curl -o /etc/pacman.d/mirrorlist https://archlinux.org/mirrorlist/all/

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

    # pacman -Syu pacman-mirrorlist

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

    • mirrorlist.py — исходный код генератора списка зеркал Archweb
    gollark: A few hundred £ for a headset, I mean.
    gollark: A few hundred £.
    gollark: I am avoiding VR until it's cheap and my cheap computrons can run it at high framerates without melting. Probably not then, since I like my nice two-dimensional rectangular s¢reens.
    gollark: We live in a subreddit.
    gollark: A difference in opinion makes you WRONG and EVIL! You must be an OUTGROUP MEMBER!
    This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.