apt-mirror
Редактировал(а) Сергей Евстегнеев 2023/02/14 17:46
В статье рассмотрено создание зеркала репозитория в ЛВС ИС/АС на примере репозиториев ОСнова onyx с использованием инструмента apt-mirror и nginx.
Предполается, что имя хоста, на котором выполняется установка, mirror.local.
Создание зеркала репозитория с помощью apt-mirror
- Если отсутствуют реквизиты доступа (user password) к репозиториям dl.nppct.ru, получить их в службе поддержки;
- Установить apt-mirror, выполнив команду:
$ sudo apt install apt-mirror - Произвести настройку зеркалирования репозиториев, загрузив конфигурационный файл /etc/apt/mirror.list командой:
$ sudo wget
и отредактировав конфигурационный файл /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/devel-disk1/ onyx main contrib non-free
репозиторий диска со средствами разработки для зеркалирования, где user password; - clean http://repo
Данная опция необходима для удаления пакетов из локального зеркала репозитория, если пакеты были удалены в зеркалируемом(upstream) репозитории repo;
Для ОСНова onyx данная строчка будет выглядеть следующим образом:- 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/devel-disk1/
для репозитория диска со средствами разработки;
- clean https://dl.nppct.ru/onyx/stable/repos/disk1/
- Выполнить команду apt-mirror для зеркалирования репозиториев от имени пользователя apt-mirror:
$ sudo -u apt-mirror apt-mirror
После окончания работы, зеркалируемые репозитории будут располагаться в каталоге, указанном в переменной base_path, для приведенной вышек конфигурации /var/spool/apt-mirror - Для переодического зеркалирования репозиториев необходимо активировать задание cron, для этого отредактировать файл /etc/cron.d/apt-mirror, раскомментировав строку
0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
При необходимости изменить время выполнения задания (по умолчанию - в 04:00 каждый день).
Раздача зеркала репозитория с помощью nginx
- Установить веб-сервер nginx, выполнив команду:
$ sudo apt install nginx - Удалить конфигурацию по умолчанию, выполнив команду:
$ sudo rm /etc/nginx/sites-enabled/default - СОздать файл конфигурацию mirror.local, выполнив команду:
$ sudo wget - Верифицировать конфигурацию mirror.local, выполнив команду:
$ sudo nginx -t - Активировать конфигурацию mirror.local, выполнив команду:
$ ln -s /etc/nginx/sites-available/mirror.local /etc/nginx/sites-enabled/ - Перезагрузить конфигурацию nginx, выполнив команду:
$ sudo systemctl reload nginx
Настройка apt-репозиториев на клиенте
- Закоменитровать в файле /etc/apt/sources.list строки с установочными дисками ОС:
#deb cdrom:[OSNova Linux onyx - amd64 DVD disk1]/ onyx contrib main non-free
#deb cdrom:[OSNova Linux onyx - amd64 DVD disk2]/ onyx contrib main non-free
либо удалить файл /etc/apt/sources.list:
$ sudo rm /etc/apt/sources.list - Подключить основные apt-репозитории, расположенные на mirror.ct, для этого выполнить:
$ sudo wget https://dl.nppct.ru/onyx/stable/misc/apt-mirror/sources.list.d/onyx:mirror.local.list \
-P /etc/apt/sources.list.d/
Или загрузить файл https://dl.nppct.ru/onyx/stable/misc/apt-mirror/sources.list.d/onyx:mirror.local.list, отредактировать и поместить его в каталог /etc/apt/sources.list.d/; - При необходимости, подключить apt-репозитории со средствами разработки, расположенные на dl.nppct.ru, для этого выполнить:
$ sudo wget https://dl.nppct.ru/onyx/stable/misc/apt/sources.list.d/onyx-devel:dl.nppct.ru.list \
-P /etc/apt/sources.list.d/ - Подключить тестируемый apt-репозиторий обновлений, расположенный на dl.nppct.ru, для этого выполнить:
$ sudo wget https://dl.nppct.ru/onyx/testing/misc/apt/sources.list.d/onyx-testing-upd:dl.nppct.ru.list \
-P /etc/apt/sources.list.d/ - При необходимости подключить тестируемый apt-репозиторий обновлений средств разработки, расположенный на dl.nppct.ru, для этого выполнить:
$ sudo wget https://dl.nppct.ru/onyx/testing/misc/apt/sources.list.d/onyx-testing-upd-devel:dl.nppct.ru.list \
-P /etc/apt/sources.list.d/