- Mirrors (Русский)
- Официальные зеркала
- IPv6-зеркала
- Включение определённого зеркала
- Принудительное обновление списка пакетов pacman
- Сортировка зеркал
- Сортировка по скорости
- Ранжирование существующего списка зеркал
- Получение и ранжирование свежего списка зеркал
- Ранжирование на стороне сервера
- Решение проблем
- Смотрите также
- Setup Pacman Mirrors on Arch Linux
- The Pacman Mirror Configuration File
- Generating a mirrorlist File for Specific Geographical Location
- Finding the Fastest Arch Linux Mirror
- About the author
- Shahriar Shovon
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 будет первым делом пытаться соединиться с этим зеркалом. Аналогично можно сделать и для остальных репозиториев: [core-testing], [extra], и [extra-testing].
Примечание: Если вы указываете зеркала напрямую в pacman.conf , следует использовать одно и то же зеркало для всех репозиториев. В противном случае можно столкнуться с тем, что будут установлены несовместимые версии пакетов, например, linux из [core] и более старые модули ядра из [extra].
Принудительное обновление списка пакетов pacman
Зеркала могут быть рассинхронизированы, из-за чего список пакетов на старом зеркале не будет соответствовать списку на новом зеркале, несмотря на дату, указанную в обоих списках.
После создания файла /etc/pacman.d/mirrorlist или его изменения выполните следующую команду:
Совет: Указание двух аргументов —refresh / -y заставляет pacman обновить списки пакетов, даже если они уже считаются актуальными. Запуск pacman -Syyu — излишняя трата ресурсов в большинстве случае, но иногда позволяет исправить проблемы, возникающие при смене неисправного зеркала на исправное. См. также Is -Syy safe?.
Важно: В большинстве случаев, при принудительном обновлении базы данных pacman, необходимо также принудительно откатить «слишком новые» пакеты, чтобы их версии соответствовали версиям на новом зеркале. Это предотвращает проблемы, приводящие к частичному обновлению системы.
Также данная процедура необязательна при использовании временных отметок (timestamps) для обеспечения обновления зеркал.
Сортировка зеркал
При загрузке пакетов pacman использует зеркала в том порядке, в котором они перечислены в /etc/pacman.d/mirrorlist . Порядок серверов в списке задаёт их приоритет.
Сортировать зеркала только по скорости — не самый оптимальный вариант, так как самые быстрые сервера могут быть рассинхронизированы. Рекомендуется сначала отсортировать зеркала по скорости, после чего, в соответствии с их статусом, убрать из списка рассинхронизированые зеркала.
Также рекомендуется повторять данную процедуру перед каждым обновлением системы для поддержания списка зеркал в актуальном состоянии.
Сортировка по скорости
Ранжирование существующего списка зеркал
Пакет pacman-contrib предоставляет Bash-скрипт /usr/bin/rankmirrors , который можно использовать для ранжирования зеркал в соответствии со скоростями подключения и нахождения наиболее быстрых местных зеркал.
Создайте резервную копию текущего файл /etc/pacman.d/mirrorlist :
# cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
Необходимо выполнить следующие действия, чтобы подготовить файл mirrorlist.backup к к ранжированию с помощью rankmirrors:
- Отредактируйте mirrorlist.backup , раскомментировав сервера, которые необходимо протестировать
- Если сервера в файле сгруппированы по странам, возможно извлечь все сервера определённой страны следующим образом:
$ awk '/^## Название страны$/f==0/^$/' /etc/pacman.d/mirrorlist.backup
# sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.backup
И наконец, отсортируйте сервера. В данном случае, -n 6 выводит только 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 -
Совет: Данные действия можно также выполнить интерактивно на странице https://archlinux.org/mirrorlist с помощью любого текстового браузера, например, elinks(1) .
- Rate Mirrors — извлекает список зеркал, исключает устаревшие или находящиеся в процессе обновления, после чего выбирает страну с наиболее «быстрыми» зеркалами на основе информации о местонахождении подводных кабелей и узлов обмена трафиком. Работает в том числе и с произвольным списком зеркал, поданным на стандартный поток ввода. Приложение довольно быстрое, поэтому можно запускать его перед каждым обновлением системы.
Ранжирование на стороне сервера
Официальный Pacman Mirrorlist Generator предоставляет возможность легко получить ранжированный список зеркал. Весь процесс сортировки происходит на одном сервере с учётом различных факторов, что значительно снижает нагрузку на зеркала и клиентов в сравнении с ранжированием с каждого отдельного клиента.
Другая популярная альтернатива:
Reflector — получает последний список зеркал со страницы MirrorStatus, фильтрует их, сортирует по скорости и перезаписывает /etc/pacman.d/mirrorlist
Решение проблем
Если вы столкнулись со следующей ошибкой:
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
Смотрите также
Setup Pacman Mirrors on Arch Linux
Like all the other Linux distributions such as Ubuntu, Arch Linux also has an official package repository. It is hosted on the official Arch Linux server. To save bandwidth and reduce the cost, to increase the download speed and response time, the official package repository is copied to different server in different parts of the world. So people close to certain geographical location can use that server instead the official Arch Linux server as they are synced with the official Arch Linux package repository.
Each of these servers that keeps a copy of the official Arch Linux package repository is called a mirror.
The Pacman Mirror Configuration File
Arch Linux package manager Pacman keeps it’s mirror list in /etc/pacman.d/mirrorlist file. To change Pacman mirrors, you must modify this file.
Generating a mirrorlist File for Specific Geographical Location
You can generate a mirrorlist file for specific geographical location using the official Arch Linux website.
Go to https://www.archlinux.org/mirrorlist/ and you should see the following page as shown in the screenshot below.
You can also use the mirrorlist generator wizard as marked in the screenshot below.
First select your country.
Then check either http or https or both (http and https) in the Protocol section depending on your need.
Then select the IP version. IPv4 is available in every country, IPv6 may not be available. You may select both.
Finally click on Generate List button.
A mirrorlist file should be generate as you can see in the screenshot below.
Now press + s and save the file as mirrorlist.txt
Now open the file with any text editor.
Remove the hash (#) sign from the line that starts with Server =
NOTE: If you have multiple lines starting with Server = , then remove the hash (#) sign from the lines that you want to add as Pacman mirror, leave the rests as it is.
Once you’re done, save the file.
Now replace /etc/pacman.d/mirrorlist with this file with the following command:
Now update the Pacman package repository cache with the following command:
The Pacman package repository cache should be updated and as you can see from the marked section of the screenshot below, I am getting 10 times more speed than usual. FYI my usual download speed is 128 KBps.
Finding the Fastest Arch Linux Mirror
At times just setting a geographically closer Arch Linux mirror is not enough. So Before you set an Arch Linux mirror, you should check and find out the fastest mirror on your current ISPs network. Thanks to Arch Linux, Pacman has a built in utility rankmirrors to test and find the fastest mirror for you.
First run the following command to download a mirrorlist file that includes all the available Arch Linux mirrors:
The file should be saved in the Downloads/mirrorlist on your user’s HOME directory.
Now run the following command to uncomment all the mirror lines:
Now start the check with the following command:
Once the check is complete, the mirrors will be sorted in descending order depending on the download speed in ~/Downloads/mirrorlist.fastest file. It should take a long time to check all the mirrors if your internet connection is slow.
Now replace /etc/pacman.d/mirrorlist file with the ~/Downloads/mirrorlist.fastest file with the following command:
Now update the Pacman package repository cache with the following command:
That’s how you setup Pacman mirrors on Arch Linux. Thanks for reading this article.
About the author
Shahriar Shovon
Freelancer & Linux System Administrator. Also loves Web API development with Node.js and JavaScript. I was born in Bangladesh. I am currently studying Electronics and Communication Engineering at Khulna University of Engineering & Technology (KUET), one of the demanding public engineering universities of Bangladesh.