Создание зеркала репозитория
- Создание зеркала репозитория с помощью apt-mirror
- Раздача зеркала репозитория с помощью nginx
- Настройка apt-репозиториев на клиенте
В статье рассмотрено создание зеркала репозитория в ЛВС ИС/АС на примере репозиториев ОСнова onyx с использованием инструмента apt-mirror и веб-сервера nginx.
Предполагается, что имя хоста, на котором выполняется установка, mirror.local.
Создание зеркала репозитория с помощью apt-mirror
- При отсутствии реквизитов доступа (user и password) к репозиториям dl.nppct.ru, получить их в службе поддержки АО "НППКТ";
- Установить apt-mirror, выполнив команду:
- Для настройки зеркалирования репозиториев привести конфигурационный файл /etc/apt/mirror.list для ОСНова onyx к следующему виду:
set nthreads 20
deb https://user:password@dl.nppct.ru/onyx/stable/repos/disk1/ onyx main contrib non-free
deb https://user:password@dl.nppct.ru/onyx/stable/repos/disk2/ onyx main contrib non-free
deb https://user:password@dl.nppct.ru/onyx/stable/repos/update/ onyx main contrib non-free
deb https://user:password@dl.nppct.ru/onyx/stable/repos/devel-disk1/ onyx main contrib non-free
deb https://user:password@dl.nppct.ru/onyx/stable/repos/devel-update/ onyx main contrib non-free
clean https://dl.nppct.ru/onyx/stable/repos/disk1/
clean https://dl.nppct.ru/onyx/stable/repos/disk2/
clean https://dl.nppct.ru/onyx/stable/repos/update/
clean https://dl.nppct.ru/onyx/stable/repos/devel-disk1/
clean https://dl.nppct.ru/onyx/stable/repos/devel-update/
Необходимые параметры конфигурационного файл /etc/apt/mirror.list:
- set base_path /var/spool/apt-mirror - базовый каталог, в котором хранятся зеркала репозиториев, рабочие файлы и каталоги системы apt-mirror;
- set nthreads 20 - количество потоков (задач) для скачивания пакетов;
- deb https://user:password@dl.nppct.ru/onyx/stable/repos/disk1/ onyx main contrib non-free
- deb https://user:password@dl.nppct.ru/onyx/stable/repos/disk2/ onyx main contrib non-free - репозитории основных дисков для зеркалирования;
- deb https://user:password@dl.nppct.ru/onyx/stable/repos/update/ onyx main contrib non-free - репозиторий диска обновления для зеркалирования;
- deb https://user:password@dl.nppct.ru/onyx/stable/repos/devel-disk1/ onyx main contrib non-free - репозиторий диска со средствами разработки для зеркалирования;
- deb https://user:password@dl.nppct.ru/onyx/stable/repos/devel-update/ onyx main contrib non-free - репозиторий диска обновления средств разработки для зеркалирования;
- clean https://dl.nppct.ru/onyx/stable/repos/disk1/
- clean https://dl.nppct.ru/onyx/stable/repos/disk2/
- clean https://dl.nppct.ru/onyx/stable/repos/update/
- clean https://dl.nppct.ru/onyx/stable/repos/devel-disk1/
- clean https://dl.nppct.ru/onyx/stable/repos/devel-update/ - опция необходимая для удаления пакетов из локального зеркала репозитория, если пакеты были удалены в зеркалируемом (upstream) репозитории;
- Выполнить команду apt-mirror для зеркалирования репозиториев от имени пользователя apt-mirror:
После окончания работы, зеркалируемые репозитории будут располагаться в каталоге, указанном в переменной base_path. Для приведенной выше конфигурации, в каталоге /var/spool/apt-mirror.
- Для переодического зеркалирования репозиториев необходимо активировать задание планировщика cron, для этого отредактировать файл /etc/cron.d/apt-mirror, раскомментировав строку:
При необходимости изменить время выполнения задания (по умолчанию - в 04:00 каждый день).
Раздача зеркала репозитория с помощью nginx
- Установить веб-сервер nginx, выполнив команду:
- Удалить конфигурацию по умолчанию, выполнив команду:
- Создать файл конфигурацию /etc/nginx/conf.d/mirror.conf следующего вида:
listen 80;
location / {
root /var/spool/apt-mirror/mirror/dl.nppct.ru;
autoindex on;
}
}
- Верифицировать конфигурацию mirror.conf, выполнив команду:
- Перезагрузить конфигурацию nginx, выполнив команду:
Настройка apt-репозиториев на клиенте
- Закомментировать в файле /etc/apt/sources.list строки с установочными дисками ОС:
#deb cdrom:[OSNova Linux onyx - amd64 DVD disk2]/ onyx contrib main non-free
либо удалить файл /etc/apt/sources.list командой:
- Подключить apt-репозитории, расположенные на локальном зеркале. Для этого создать файл /etc/apt/sources.list.d/onyx_mirror.list следующего вида:
deb http://mirror.local/onyx/stable/repos/disk1/ onyx main contrib non-free
deb http://mirror.local/onyx/stable/repos/disk2/ onyx main contrib non-free
deb http://mirror.local/onyx/stable/repos/update/ onyx main contrib non-free
# Средства разработки и обновления
deb http://mirror.local/onyx/stable/repos/devel-disk1/ onyx main contrib non-free
deb http://mirror.local/onyx/stable/repos/devel-update/ onyx main contrib non-free
Имя хоста mirror.local заменить на имя созданного зеркала репозитория.
При необходимости можно добавлять и удалять apt-репозитории при помощи символа комментария "#" в начале строки.
- Выполнить обновление apt-репозиториев командой: