В ArchLinux имеется скрипт для настройки конфигурационного файла

1
/etc/pacman.d/mirrorlist
1
rankmirrors
.

Что он делает?

1
rankmirrors
берет список IP-адресов зеркал репозиториев ArchLinuxlinux из заранее созданного файла и проверяет их на скорость доступа. А затем формирует список самых быстрых зеркал на основе этой проверки.

Что это дает? В результате работы

1
rankmirrors
в
1
/etc/pacman.d/mirrorlist
мы имеем сервера с самым быстрым (исходяя из местоположения нашей машины) доступом. При обновлении системы или установки какой-либо программы скорость инсталляции существенно возрастает (из чего складывается инсталляция? Из скачивания пакета с сервера и уже затем его установки).
1
rankmirrors
является python-скриптом. man-страницы не имеет, но есть опция
1
-help
с небольшим выбором команд.

Похожими утилитами являются

1
netselect
и особенно –
1
mirrorselect
(для Gentoo). Итак, приступим к настройке нашего списка зеркал с помощью
1
rankmirrors
.

  1. Так как
    1
    
    rankmirrors
    является python-скриптом, для его работы необходим установленный Python в системе. Устанавливаем, если его нет в системе:
$ sudo pacman -Sy python
  1. Переходим в директорию со списком зеркал pacman’а:
$ cd /etc/pacman.d/
  1. Делаем копию существующего списка зеркал
    1
    
    mirrorlist
    :
$ sudo cp mirrorlist mirrorlist.backup
  1. Открываем копию списка зеркал в своем любимом редакторе и раскомментируем все строки с адресами серверов, географически наиболее близко расположенных к нам (по идее, это и будут сервера с самым быстрым доступом):
$ sudo nano -w mirrorlist.backup
  1. Сохраняем изменения в файле и выходим из него. Запускаем скрипт
    1
    
    rankmirrors
    для выбора зеркал из указанного нами списка (для запуска
    1
    
    rankmirrors
    потребуется войти в учетную запись
    1
    
    root
    ‘а. Под
    1
    
    sudo
    у меня скрипт отказался работать, ругаясь на отсутствие прав доступа к файлу
    1
    
    mirrorlist
    ).

Переходим в учетную запись

1
root
‘а:

$ su -

Запускаем

1
rankmirrors
под
1
root
‘ом:

# rankmirrors -n 6 mirrorlist.backup > mirrorlist

где:

  • 1
    
    -n 6
    – вывести (в нашем случае – записать) 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. Теперь осталось последнее – заставить
    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.

На этом все.


Javascript - методы call, apply, bind

## Метод callМетод call и apply достаточно древние - они оба из стандарта ES3. Суть создания и работы методов - заставить некоторую произ...… Continue reading

MongoDB - документы

Published on May 23, 2017