Привет Хабр, меня зовут Данила Гуляев, я — методист Linux-решений в АСКОН, и это вторая статья из серии о развёртывании программных продуктов в условиях предприятий с закрытыми внутренними сетями. Первую можно прочитать здесь.

Сегодня мы опишем сценарий развёртывания КОМПАС-3D в операционной системе РЕД ОС 8. В нашем материале эта операционная система будет использоваться как для сервера локального репозитория, так и для клиентских машин.

Показывать последовательность действий будем на примере КОМПАС-3D, но общий сценарий сработает и для других приложений. В частности, точно таким же способом можно поставить любые доступные в публичном репозитории продукты Комплекса АСКОН.

Мы разыграем полноценный сценарий развёртывания приложений в закрытой сети в два этапа. В первой части имитируем работу из внешней сети: покажем репозитории-источники приложений, разберём их подключение и выгрузим все необходимые пакеты на внешний носитель. Далее этот внешний носитель пройдёт воображаемую проверку безопасности, и его содержимое будет передано в закрытый контур.

Затем мы завершим наш сценарий из внутренней сети: развернём локальный репозиторий с полученными пакетами и установим приложения на машину в закрытом контуре нашего воображаемого предприятия.

Часть 1. Получение установочных материалов из открытой сети

1.1 Подключение репозитория

Посмотрим на последовательность действий сотрудника предприятия во внешней сети, который получит и передаст на дальнейшую проверку необходимые для установки ресурсы.

Пакеты от АСКОН располагаются в официальных открытых репозиториях и могут быть подключены через скрипт, описанный в прилагающейся документации.

Для КОМПАС-3D можно воспользоваться документом ReadMe или официальной справкой. Скопируем содержимое справки, откроем терминал сочетанием клавиш Ctrl+Alt+T или из меню приложений и выполним команду:

	sudo bash -c "$(wget -O - https://repo.ascon.ru/scripts/ascon-stable-redos.sh)"

Скрипт автоматически подключит репозиторий КОМПАС-3D и получит информацию о содержащихся в нём пакетах.

1.2 Определение состава установки

Пакеты, связанные с АСКОН, начинаются с ключевого слова ascon. Мы можем вывести их список и краткие описания командой

	dnf search ascon

Или выбрать конкретный пакет и получить его описание командой

	dnf info ascon-kompas3d-v25-full

таким образом выбрав необходимый для нас состав установки.

1.3 Установка КОМПАС-3D

На данном этапе в условиях открытой сети я бы мог просто поставить, например, полную версию КОМПАС-3D со всеми доступными компонентами командой из следующего пункта справки:

	sudo dnf install ascon-kompas3d-v25-full ascon-common-coredump-watcher;\
nohup /opt/ascon/common/coredump-watcher/inotify_dump_script.sh > /dev/null 2>&1 &

Но наша задача — скачать и передать установочные данные коллегам внутри закрытого контура, поэтому мы пропустим этот шаг и будем двигаться дальше.

1.4 Скачивание пакетов

Подключим к компьютеру внешний носитель (у меня в этой роли будет обычная флешка) и создадим внутри папку, в которой мы хотели бы сохранить архив с передаваемыми пакетами.

Откроем статью базы знаний АСКОН с командами для определения рекурсивных зависимостей пакетов. Скопируем команду для РЕД ОС. Откроем терминал из ранее созданной папки и вставим команду, указав в качестве имён пакетов наши целевые ascon-kompas3d-v25-full и ascon-common-coredump-watcher:

	dnf repoquery --requires --recursive --resolve ascon-kompas3d-v25-full ascon-common-coredump-watcher | sed 's/-.:.*$//' | sort -u

В выводе получился внушительный список пакетов зависимостей. В данном сценарии нас интересуют только пакеты, связанные с АСКОН или КОМПАС-3D, поэтому в конец команды я добавлю | grep -E «ascon|kompas».

	dnf repoquery --requires --recursive --resolve ascon-kompas3d-v25-full ascon-common-coredump-watcher | sed 's/-.:.*$//' | sort -u | grep -E «ascon|kompas»

Вывод значительно сократился.

Эта команда выводит список зависимостей без указания версий — за это отвечает часть sed 's/-.:.*$//' .

Уберём её, чтобы гарантированно выкачать из репозитория нужные версии пакетов:

	dnf repoquery --requires --recursive --resolve ascon-kompas3d-v25-full ascon-common-coredump-watcher | sort -u | grep -E «ascon|kompas»

Для удобства запишу вывод в текстовый файл внутри той же папки:

	dnf repoquery --requires --recursive --resolve ascon-kompas3d-v25-full ascon-common-coredump-watcher | sort -u | grep -E «ascon|kompas» > list.txt

И не забуду добавить к списку инсталляции сами целевые пакеты:

	echo «ascon-kompas3d-v25-full ascon-common-coredump-watcher» >> list.txt

После чего можно будет скачать все пакеты в текущую папку простой командой

	dnf download $(cat list.txt)

В данном случае мы скачиваем всё необходимое для установки КОМПАС-3D версии 25 и всех доступных приложений, а также утилиты сбора диагностической информации АСКОН. Мы рекомендуем не пренебрегать этой утилитой даже в условиях отсутствия подключения к интернету, поскольку, наряду с отправкой отчётов при сбоях, эта утилита способна делать выгрузки при ошибках, в некоторых случаях необходимые для осуществления техподдержки.

Дополнительно для вашего удобства репозиторий АСКОН содержит пакет сервера лицензий Guardant, который можно скачать либо с помощью команды dnf download grdcontrol, либо напрямую с ресурсов Guardant.

1.5 Передача пакетов в закрытый контур

Мы получили пакеты, а значит, наш внешний носитель или архив можно передавать на проверку службе безопасности, а затем — в закрытую сеть предприятия.

Со стороны закрытого контура в сценарии будут присутствовать сервер и рабочая станция, к которой мы далее подключим репозиторий. Мы предполагаем, что на предприятии уже созданы зеркала репозиториев РЕД ОС, и опустим этот вопрос. На эту тему у наших коллег есть соответствующая справка.

Часть 2. Развёртывание и подключение локального репозитория в закрытой сети

2.1 Развёртывание сервера с локальным репозиторием

Здесь предлагается развернуть локальный веб-репозиторий на базе httpd — сервера Apache. Для создания репозитория и метаданных к нему также понадобятся утилиты createrepo_c и dnf-utils. Зайдём на сервер, обновим информацию и поставим нужные пакеты:

	sudo dnf makecache
	sudo dnf install httpd createrepo_c dnf-utils

И активируем сервис httpd для дальнейшей сетевой установки:

	sudo systemctl enable httpd —now

Мы используем умолчательную конфигурацию сервера Apache, поэтому настройки конфигурационных файлов происходить не будет. Тем не менее, при желании сервер можно запустить с любыми необходимыми параметрами — подробности описаны в справке. Также при необходимости можно воспользоваться руководством по настройке ssl-шифрования для локального репозитория.

В нашем случае достаточно будет скопировать файлы репозитория в папку сетевого доступа /var/www/html/ любым удобным способом.

Сгенерируем метаданные:

createrepo --database /var/www/html/

Можно использовать и любой другой каталог, отличный от /var/www/html/, создав для него символическую ссылку и установив правильный контекст SELinux (для файловых систем с поддержкой Extended File Attributes - ext2, ext3, ext4, jfs, xfs, btrfs):

ln -s /mnt/repodisk/ /var/www/html/repos 
semanage fcontext -a -t httpd_sys_content_t "/mnt/repodisk(/.*)?"
restorecon -Rv /mnt/repodisk

После этого репозиторий будет опубликован в сети, и мы можем переключиться на клиентскую машину.

2.2 Подключение репозитория к клиентской машине

На клиенте создадим новый файл репозитория с названием kompas-local.repo в папке /etc/yum.repos.d/ с помощью любого текстового редактора, например, nano:

sudo nano /etc/yum.repos.d/kompas-local.repo

И заполним его следующей информацией:

	[kompas-local]
	name=Local KOMPAS-3D Repository
	baseurl=http://server.address/kompas-repo/
	enabled=1
	gpgcheck=0

где server.address — это адрес сервера с репозиторием в вашей сети.

Мы опять используем минимальную конфигурацию, но при желании можно поменять идентификатор и имя репозитория, включить проверку по gpg-ключу или поменять другие параметры. Сохраним конфигурацию и выйдем из редактора с помощью последовательности сочетаний клавиш: Ctrl+O, Enter, Ctrl+X.

И обновим информацию о подключённых репозиториях:

sudo dnf makecache

Убедимся, что репозиторий теперь подключён и доступен:

dnf repolist

Если вы получили в выводе идентификатор и имя нового локального репозитория — значит, всё готово к установке пакетов!

2.3 Установка КОМПАС-3D из локального репозитория

После завершения настройки можно будет поставить КОМПАС-3D ранее упомянутой командой, как из сетевого репозитория:

	sudo dnf install ascon-kompas3d-v25-full ascon-common-coredump-watcher;\
nohup /opt/ascon/common/coredump-watcher/inotify_dump_script.sh > /dev/null 2>&1 &

Заключение

Мы рассмотрели ещё один пример подготовки и развертывания КОМПАС-3D в закрытом контуре предприятия — в этот раз с помощью базовых инструментов РЕД ОС 8. Итогом стал рабочий локальный репозиторий, который позволяет подключать клиентские машины за считанные минуты и обеспечивает работу, идентичную сетевому хранилищу.

Мы продолжаем развивать сопроводительные материалы к продуктам АСКОН для Linux. Разумеется, в рамках данной статьи мы не охватили все возможные сценарии и доступные параметры — но мы ценим обратную связь, поэтому приглашаем вас делиться вопросами, идеями и пожеланиями в комментариях.

Комментарии (4)


  1. r1bgg
    22.07.2026 09:01

    а на debian можно установить?


    1. red_cell
      22.07.2026 09:01

      можно, у меня на Debian 13.6 установился.


    1. domix32
      22.07.2026 09:01

      Astra основана на debian, так что можно читать гайд из первой ссылки.


  1. DS2
    22.07.2026 09:01

    Когда httpd запускаете ключ now c двойным дефисом указывать надо

    Статья могла быть такая: Внимание кто не знал! У Аскона есть репозитарий, в т.ч. для RedOS 8 https://repo.ascon.ru/stable/rpm/redos/8.0/ Можно сделать локальный репозитарий (см. инструкцию у производителя ОС) и пользуйтесь!
    :-)