43.6. Обновление систем, не имеющих выхода в Интернет
Для систем, не имеющих прямого выхода в Интернет, рекомендуется установка отдельного сервера обновлений на базе ОС Альт Сервер, находящегося вне защищенного контура и организация ограниченного доступа к этому серверу.
Модуль ЦУС (пакет alterator-mirror) из раздела предназначен для зеркалирования репозиториев и публикации их для обновлений рабочих станций и серверов.
Сервер обновлений — технология, позволяющая настроить автоматическое обновление программного обеспечения, установленного на клиентских машинах (рабочих местах), работающих под управлением Альт Рабочая станция.
На странице модуля можно выбрать, как часто выполнять закачку пакетов, можно выставить время, когда начинать зеркалирование.
Здесь также можно выбрать репозитории, локальные срезы которых необходимы. При нажатии на название репозитория, появляются настройки этого репозитория. Необходимо выбрать источник (сайт, откуда будет скачиваться репозиторий), архитектуру процессора (если их несколько, то стоит выбрать соответствующие).
При выборе любой архитектуры также будет добавлен источник с noarch.
Сервер обновлений предоставляет возможность автоматически настроить обновление клиентских машин в нужном режиме:
Локальное зеркало репозитория
В этом режиме на сервере создаётся копия удалённого репозитория. Загрузка ПО клиентскими машинами может производится с локального сервера по протоколам HTTP, HTTPS, FTP, rsync (для каждого протокола нужно настроить соответствующие службы, ниже приведён пример настройки HTTP- и FTP-сервера). Наличие на локальном сервере зеркала репозитория при большом количестве машин в сети позволяет существенно сэкономить трафик.
Зеркалирование потребует наличия большого количества места на диске.
Уменьшить размер скачиваемых файлов и занимаемое репозиторием место на диске можно, указав имена каталогов и файлов, которые будут исключены из синхронизации. Например, не скачивать пакеты с исходным кодом и пакеты с отладочной информацией:
SRPMS
*-debuginfo-*
Шаблоны указываются по одному в отдельной строке. Символ «*» используется для подстановки любого количества символов.
Публикация репозитория
В этом случае публикуется или URL внешнего сервера, содержащего репозиторий или, если включено локальное зеркало репозитория, адрес этого сервера. Такая публикация позволяет клиентским машинам автоматически настроить свои менеджеры пакетов на использование внешнего или локального репозитория.
Со стороны клиентских машин, в этом случае, необходимо настроить модуль
, отметив в нём
Обновление системы управляемое сервером.
Настройка локального репозитория заканчивается нажатием на кнопку Применить.
По умолчанию локальное зеркало репозитория находится в
/srv/public/mirror
. Для того чтобы зеркалирование происходило в другую папку, необходимо эту папку примонтировать в папку
/srv/public/mirror
. Для этого в файл
/etc/fstab
следует вписать строку:
/media/disk/localrepo /srv/public/mirror none rw,bind,auto 0 0
где
/media/disk/localrepo
— папка-хранилище локального репозитория.
43.6.1. Настройка веб-сервера
Установить веб-сервер (в данном примере nginx):
# apt-get install nginx
Создать файл конфигурации сервера в
/etc/nginx/sites-available.d/repo.conf
:
server {
listen 80;
server_name localhost .local <ваш ip>;
access_log /var/log/nginx/repo-access.log;
error_log /var/log/nginx/repo-error.log;
location /mirror {
root /srv/public;
autoindex on;
}
}
Сделать ссылку в
/etc/nginx/sites-enabled.d/
:
# ln -s /etc/nginx/sites-available.d/repo.conf /etc/nginx/sites-enabled.d/repo.conf
Запустить nginx и добавить его в автозагрузку:
# systemctl enable --now nginx
На клиентских машинах необходимо настроить репозитории. Сделать это можно в программе управления пакетами
Synaptic ( → ) или в командной строке:
# apt-repo rm all
# apt-repo add http://<ip сервера>/mirror/p9/branch
Проверить правильность настройки репозиториев:
# apt-repo
rpm http://192.168.0.185/mirror p9/branch/x86_64 classic
rpm http://192.168.0.185/mirror p9/branch/noarch classic