Задание №0: Настройка источников пакетов (зеркала Яндекс)
В ходе выполнения заданий демонстрационного экзамена и чемпионата часто возникают ситуации, когда пакеты через apt-get скачиваются крайне медленно либо серверы packages.altlinux.org становятся временно недоступны из-за высокой сетевой нагрузки.
В таких случаях необходимо переключить менеджер пакетов APT на быстрое российское зеркало Яндекса (mirror.yandex.ru).
Где выполнять
Данная операция выполняется под пользователем root на любой виртуальной машине, на которой наблюдаются проблемы со скачиванием пакетов (ISP, HQ-SRV, BR-SRV, HQ-RTR, BR-RTR, HQ-CLI).
1. Теоретическая справка: структура репозиториев в ALT Linux
В ALT Linux списки источников пакетов для пакетного менеджера APT хранятся в каталоге /etc/apt/sources.list.d/:
alt.list— официальные серверыftp.altlinux.org/packages.altlinux.org(активны по умолчанию).yandex.list— официальное зеркало компании Яндексmirror.yandex.ru(по умолчанию закомментировано знаками#).
Структура обоих файлов:
В каждом из этих файлов содержится ровно 3 блока строк по 3 строки (для архитектур x86_64, x86_64-i586 и noarch):
- 1-й блок (
ftp://) — доступ по протоколу FTP (закомментирован#). - 2-й блок (
http://) — стандартный быстрый веб-протокол HTTP (именно он используется для работы). - 3-й блок (
rsync://) — протокол синхронизации Rsync (закомментирован#).
2. Памятка по работе в текстовом редакторе Vim
Как работать в Vim
- Вход в режим редактирования (вставки): нажмите клавишу
i(внизу появится надпись-- ВСТАВКА --/-- INSERT --). - Выход из режима редактирования в командный: нажмите клавишу
Esc. - Сохранить изменения и выйти: находясь в командном режиме (нажав
Esc), введите:wqи нажмитеEnter(w— write/записать,q— quit/выйти). - Выйти БЕЗ сохранения (отмена правок при ошибке): нажмите
Esc, введите:q!и нажмитеEnter. - Удалить строку целиком: в командном режиме дважды нажмите клавишу
d(dd). - Отменить последнее действие: в командном режиме нажмите клавишу
u(undo).
3. Пошаговая инструкция
Шаг 1. Отключение официальных репозиториев (alt.list)
Открываем файл alt.list в редакторе vim:
vim /etc/apt/sources.list.d/alt.listПо умолчанию в файле активен второй блок из трёх строк (с протоколом http://). Нажимаем i, переходим к строкам и ставим знак решётки # в начале этих трёх строк, чтобы все строки в файле стали закомментированными:
# ftp.altlinux.org (ALT Linux, Moscow)
# ALT Platform 10
#rpm [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
#rpm [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
#rpm [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
#rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
#rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
#rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
#rpm [p10] rsync://ftp.altlinux.org/ALTLinux p10/branch/x86_64 classic
#rpm [p10] rsync://ftp.altlinux.org/ALTLinux p10/branch/x86_64-i586 classic
#rpm [p10] rsync://ftp.altlinux.org/ALTLinux p10/branch/noarch classicДля сохранения нажимаем Esc, вводим :wq и нажимаем Enter.
Быстрая команда в одну строчку
Закомментировать активный второй блок можно одной командой без открытия редактора:
sed -i 's/^rpm/#rpm/' /etc/apt/sources.list.d/alt.listШаг 2. Включение зеркала Яндекс (yandex.list)
Открываем файл yandex.list:
vim /etc/apt/sources.list.d/yandex.listВ файле также находятся 3 блока по 3 строки, и все они изначально закомментированы.
Нажимаем i, находим второй блок (3 строки с протоколом http://) и убираем знаки # в начале этих трёх строк (раскомментируем их):
# mirror.yandex.ru (Yandex, Moscow)
# ALT Platform 10
#rpm [p10] ftp://mirror.yandex.ru/altlinux p10/branch/x86_64 classic
#rpm [p10] ftp://mirror.yandex.ru/altlinux p10/branch/x86_64-i586 classic
#rpm [p10] ftp://mirror.yandex.ru/altlinux p10/branch/noarch classic
rpm [p10] http://mirror.yandex.ru/altlinux p10/branch/x86_64 classic
rpm [p10] http://mirror.yandex.ru/altlinux p10/branch/x86_64-i586 classic
rpm [p10] http://mirror.yandex.ru/altlinux p10/branch/noarch classic
#rpm [p10] rsync://mirror.yandex.ru/altlinux p10/branch/x86_64 classic
#rpm [p10] rsync://mirror.yandex.ru/altlinux p10/branch/x86_64-i586 classic
#rpm [p10] rsync://mirror.yandex.ru/altlinux p10/branch/noarch classicДля сохранения нажимаем Esc, вводим :wq и нажимаем Enter.
Шаг 3. Обновление списков пакетов и проверка
Обновляем индекс пакетов APT:
apt-get updateПример успешного вывода:
Reading Package Lists... Done
Building Dependency Tree... Done
Get:1 http://mirror.yandex.ru/altlinux p10/branch/x86_64 release [1234 B]
Get:2 http://mirror.yandex.ru/altlinux p10/branch/noarch release [1234 B]
Fetched 2468 B in 1s (2468 B/s)
Reading Package Lists... Done
Building Dependency Tree... DoneЕсли чтение списков пакетов завершилось словом Done без сообщений об ошибках (Err / Failed to fetch) — репозитории успешно переключены на быстрое зеркало Яндекс!
4. Что делать, если apt-get update всё равно выдаёт ошибку?
- Проверьте сетевой резолв (DNS):bashЕсли имя
ping ya.ru -c 2 ping mirror.yandex.ru -c 2mirror.yandex.ruне разрешается, проверьте файл/etc/resolv.conf— в нём должен быть указан рабочий DNS-сервер (например,nameserver 77.88.8.8). - Проверьте шлюз по умолчанию (Default Gateway):bashВ выводе обязательно должна присутствовать строка основного маршрута:
ip rdefault via ....
