В ArchLinux имеется скрипт для настройки конфигурационного файла
–
1 /etc/pacman.d/mirrorlist.
1 rankmirrors
Что он делает?
берет список IP-адресов зеркал репозиториев ArchLinuxlinux из заранее созданного файла и проверяет их на скорость доступа. А затем формирует список самых быстрых зеркал на основе этой проверки.1
rankmirrors
Что это дает? В результате работы
в 1
rankmirrors
мы имеем сервера с самым быстрым (исходяя из местоположения нашей машины) доступом. При обновлении системы или установки какой-либо программы скорость инсталляции существенно возрастает (из чего складывается инсталляция? Из скачивания пакета с сервера и уже затем его установки). 1
/etc/pacman.d/mirrorlist
является python-скриптом. man-страницы не имеет, но есть опция 1
rankmirrors
с небольшим выбором команд.1
-help
Похожими утилитами являются
и особенно – 1
netselect
(для Gentoo). Итак, приступим к настройке нашего списка зеркал с помощью 1
mirrorselect
.1
rankmirrors
- Так как
является python-скриптом, для его работы необходим установленный Python в системе. Устанавливаем, если его нет в системе:1
rankmirrors
$ sudo pacman -Sy python
- Переходим в директорию со списком зеркал pacman’а:
$ cd /etc/pacman.d/
- Делаем копию существующего списка зеркал
:1
mirrorlist
$ sudo cp mirrorlist mirrorlist.backup
- Открываем копию списка зеркал в своем любимом редакторе и раскомментируем все строки с адресами серверов, географически наиболее близко расположенных к нам (по идее, это и будут сервера с самым быстрым доступом):
$ sudo nano -w mirrorlist.backup
- Сохраняем изменения в файле и выходим из него. Запускаем скрипт
для выбора зеркал из указанного нами списка (для запуска1
rankmirrors
потребуется войти в учетную запись1
rankmirrors
‘а. Под1
root
у меня скрипт отказался работать, ругаясь на отсутствие прав доступа к файлу1
sudo
).1
mirrorlist
Переходим в учетную запись
‘а:1
root
$ su -
Запускаем
под 1
rankmirrors
‘ом:1
root
# rankmirrors -n 6 mirrorlist.backup > mirrorlist
где:
– вывести (в нашем случае – записать) 6 сервером с самым маленьким временем отклика1
-n 6
– список серверов для теста на время отклика1
mirrorlist.backup
– файл, куда записываются адреса серверов скриптом1
mirrorlist
1
rankmirros
В результате
удалит все раскомментированные строки в 1
rankmirrors
и снесет адреса шести самых “быстрых” зеркал. Получится что-то вроде этого:1
mirrorlist
# Result
Server = ftp://ftp.nluug.nl/pub/metalab/distributions/ArchLinuxlinux/$repo/os/i686
Server = ftp://ftp.free.fr/mirrors/ftp.ArchLinuxlinux.org/$repo/os/i686
Server = ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.ArchLinuxlinux.org/$repo/os/i686
Server = http://gd.tuwien.ac.at/opsys/linux/ArchLinuxlinux/$repo/os/i686
Server = http://ftp.gigabit.nu/$repo/os/i686
Server = http://mirror.svk.su/ArchLinuxlinux/$repo/os/i686
Здесь я раскомментировал все зеркала, географически расположенные в Европе и получил 6 из них.
- Теперь осталось последнее – заставить
перечитать список зеркал и обновить список пакетов.1
pacman
Делаем:
# pacman -Syy
Результат:
:: Синхронизируются базы данных пакетов…
core 35,8K
65,8K/s 00:00:01 [######################] 100%
extra 443,7K 15,4K/s 00:00:29 [#########################] 100%
community 367,8K
18,1K/s 00:00:20 [###########################] 100%
ArchLinuxlinuxfr 24,7K 5,7K/s 00:00:04 [############################] 100%
Данная статья является вольным переводом (опробованным для своих нужд) из Википедии ArchLinuxlinux.
На этом все.