Инструменты пользователя

Инструменты сайта


colibri-astra-deploy-os

Развертывание операционной системы Astra Linux 1.8 с помощью Колибри-АРМ

1. Создание служебной УЗ

Для автоматического ввода компьютеров Astra Linux в домен ALD Pro необходимо задать служебную учетную запись, обладающую соответствующими правами в домене ALD Pro.

«Конфигуратор → Служебные УЗ → Создать УЗ»

Параметр Значение
Имя Обозначение этой УЗ в системе Колибри АРМ. Например «ALD Pro join»
Тип УЗ Доменная
Домен Полное имя домена ALD Pro, например «ald.company.lan»
Имя пользователя Логин пользователя, который имеет право на включение компьютеров в домен. Например «admin»
Пароль Пароль пользователя

2. Подготовка образа

Установочный дистрибутив Astra Linux скопировать в каталог /opt/colibri/packagesshare/img/ на сервере Колибри-АРМ.

Затем на портале управления Колибри-АРМ: «Управление ОС → Образы ОС → Загрузить образ»

Параметр Значение
Общие
Имя образа Понятное имя образа, например Astra Linux 1.8.6
Имя ОС Для Astra Linux выбираем AstraOS
Версия ОС Понятное обозначение версии, например 1.8.6
Имя файла Имя файла образа, например installation-1.8.6.39-17.06.2026_11.39.iso
Расположение образа Имя подкаталога относительно /opt/colibri/packagesshare, в нашем случае img
Распаковать Да
Точки распространения
Имя ТР Выбираем точки распространения, на которых размещен образ
Файл образа копируется с серверной папки на FTP‑сервер на основном сервере и в последующем копируется на точки распространения. Если в среде только один сервер Системы и на нем же развернута точка распространения с образами ОС, размер диска должен быть достаточным чтобы вместить трёхкратный объем всех iso файлов.
Перед развертыванием образа необходимо убедиться, что на общей странице образов и на странице точки распространения (Конфигуратор → Точки распространения), установленной для репликации образа, статусы загрузки образа являются успешными.

3. Подготовка шаблона

Создание шаблона установки - «Управление ОС → Шаблоны установки → Создать шаблон»

Параметр Значение
Основное
Тип Для Astra Linux выбираем AstraOS
Имя Добавляем понятное имя, например Astra Linux 1.8.6 для разработчиков
Родительский шаблон
Образ ОС Выбираем образ созданный ранее
Домен указываем домен ALD Pro
Тело пункта iPXE меню см. ниже
Файлы ответов см. ниже
Дополнительные действия
Дополнительные действия см. ниже

3.1. Тело пункта iPXE меню

Тело пункта iPXE для Astra Linux 1.8

kernel {{OsImage.FolderUrl}}/vmlinuz
initrd {{OsImage.FolderUrl}}/initrd
imgargs vmlinuz  fetch={{OsImage.FolderUrl}}/live/filesystem.squashfs boot=live astra_install=1 astra-installer-preseed={{OsTemplate.ResponseFilesUrl["astra-installer-preseed.yaml"]}}
boot || goto error
Имена переменных в двойных и одинарных фигурных скобках следует указывать как показано в примере. Колибри-АРМ самостоятельно заменит эти переменные на нужные значения. Описание переменных и их значений приведено в документации к Колибри-АРМ

3.2. Файлы ответов

Необходимо прикрепить файл astra-installer-preseed.yaml.

Подготовить файл ответов можно с помощью Конструктора preseed‑конфигурации для Astra Linux 1.8

Для установки Astra Linux Special Edition 1.8.x используется новая программа установки — astra-installer. Astra-installer использует конфигурационные файлы установки с синтаксисом YAML, несовместимые с debian-installer.

3.3. Дополнительные действия

Скрипт добавления компьютера Astra Linux в домен ALD Pro

В каталоге /opt/colibri/repositories/osimages/pefiles на сервере Колибри-АРМ необходимо разместить скрипт добавления компьютера Astra Linux в домен ALD Pro.

Скрипт автоматизирует подготовку компьютера под управлением Astra Linux и ввод его в домен ALD Pro. Он устанавливает клиент ALD Pro, настраивает hostname и /etc/hosts согласно требованиям ALD Pro, при необходимости добавляет репозиторий и обновляет систему, затем запускает установку и ввод в домен.

aldprodj.sh
#!/usr/bin/env bash
# Copyright (C) 2026 Дмитрий Алифатов <dmitry@alifatov.ru>
# Лицензия: GNU GPL v3 или новее <https://gnu.org>
# Скрипт поставляется БЕЗ ГАРАНТИЙ любого рода («как есть»).
# Вы можете свободно изменять и распространять его, сохраняя эту лицензию.
 
#разбиваем аргументы на массив, аргументы в кавычках могут содержать пробелы
bash_args="$@"
eval "set -- $bash_args"
args=("$@")
 
#проходимся по массиву аргументов, выделяем ключи и значения
for ((i = 0; i < ${#args[@]} - 1; i++)); do
  key="${args[i]}"
  case $key in
    "--password" | "-p")
      password="${args[i+1]}"
      ;;
    "--account" | "-u")
      user="${args[i+1]}"
      ;;
    "--domain" | "-c")
      domain="${args[i+1]}"
      ;;
    "--orgunits" | "-ou")
      orgunits="${args[i+1]}"
      ;;
    "--host" | "-d")
      host_name="${args[i+1]}"
      #приводим имя хоста к нижнему регистру, обрезаем домен, если он есть
      host_name=${host_name%%.*}
      host_name=$(echo $host_name | tr '[:upper:]' '[:lower:]')
      ;;
    "--repo")
      repo="${args[i+1]}"
      ;;
  esac
done
 
#выводим аргументы для отладки, экранируем пароль
bash_args="$@"
hidden_password=$(echo $password | tr '[:print:]' '*')
echo "[$(date +'%Y-%m-%d %H:%M')] аргументы вызова: ${bash_args/$password/$hidden_password}" >&2
 
#Задать hostname в формате FQDN
echo "[$(date +'%Y-%m-%d %H:%M')] задаем hostname: $host_name.$domain" >&2
hostnamectl set-hostname $host_name.$domain
 
#Поправить файл hosts в соответствии с требованиями ALD Pro
echo "[$(date +'%Y-%m-%d %H:%M')] обновляем файл /etc/hosts в соответствии с требованиями ALD Pro" >&2
cat << EOF > /etc/hosts
127.0.0.1 localhost.localdomain localhost
127.0.1.1 $(hostname) $(hostname -s)
 
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
EOF
 
#Добавить репозиторий ALD Pro, если он задан
if [ -n "$repo" ]; then
  echo "[$(date +'%Y-%m-%d %H:%M')] добавляем репозиторий aldpro" >&2
  echo $repo  > /etc/apt/sources.list.d/aldpro.list
  #Обновить Linux
  echo "[$(date +'%Y-%m-%d %H:%M')] выполняем обновление" >&2
  sudo apt update
  sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew
fi
 
#Установить ALD Pro клиент
echo "[$(date +'%Y-%m-%d %H:%M')] выполняемм установку клиента ALD Pro" >&2
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -q aldpro-client
 
#Ввести в домен. Чтобы избежать ошибки специальных символов в пароле, формируем команду запуска через массив аргументов.
cmd_args=("/opt/rbta/aldpro/client/bin/aldpro-client-installer" "--domain" "$(hostname -d)" "--account" "$user" "-p" "$password" "--host" "$(hostname -a)" "--gui" "--force" "--unattended")
 
if [ -n "$orgunits" ]; then
  cmd_args+=("--orgunits" "$orgunits")
fi
 
log_command="${cmd_args[*]}"
echo "[$(date +'%Y-%m-%d %H:%M')] выполняем ввод в домен командой: ${log_command/$password/$hidden_password}" >&2
 
"${cmd_args[@]}"
Параметры запуска скрипта.
Параметр длинный Параметр короткий Назначение Обязательный
–password -p Пароль учётной записи для ввода в домен Да
–account -u Имя учётной записи (логин) для ввода в домен Да
–domain -c Доменное имя (например, `ald.company.lan`) Да
–host -d Имя хоста (без домена). Скрипт обрежет доменную часть и приведёт к нижнему регистру Да
–orgunits -ou Организационные подразделения (OU) в формате Distinguished Name (DN) в кавычках, например 'ou=ald.company.lan,cn=orgunits,cn=accounts,dc=ald,dc=company,dc=lan' Нет
–repo строка репозитория ALD Pro для добавления в `sources.list.d` в формате 'одна строка' (one-line-style), например 'deb https://dl.astralinux.ru/aldpro/frozen/01/3.1.0/ 1.7_x86-64 main base' Нет
Обрезание доменной части для имени хоста предусмотрено на случай, если инвентаре Колибри-АРМ запись компьютера, на который развертывается ОС, была создана с указанием FQDN. В таком случае переменная {{Computer.Name}} будет содержать FQDN компьютера. Приведение к нижнему регистру необходимо поскольку Колибри-АРМ автоматически генерирует имена узлов в верхнем регистре, а это не поддерживается ALD Pro.

На вкладке «Дополнительные действия» создаваемого шаблона необходимо добавить две команды:

1. Копирование скрипта добавления в домен
Параметр Значение
Тип дополнительного действия Команда
Имя Понятное имя, например Копирование скрипта добавления в домен
Путь к файлу
curl
Аргументы (!)
http://{{OsImage.Server}}/osimages/pefiles/aldprodj.sh -o /usr/local/bin/aldprodj.sh
УЗ
Игнорировать ошибки Нет
Имена переменных в двойных и одинарных скобках следует указывать как показано в примере. Колибри-АРМ самостоятельно заменит эти переменные на нужные значения. Описание переменных и их значений приведено в документации к Колибри-АРМ
2. Ввод компьютера в домен
Параметр Значение
Тип дополнительного действия Команда
Имя Понятное имя, например Ввод компьютера в домен
Путь к файлу
/bin/bash
Аргументы (!) * Упрощенный вариант без указания репозитория и подразделения:
/usr/local/bin/aldprodj.sh --account {Username} --password {Password} --domain {{OsTemplate.Domain}} --host {{Computer.Name}}

* Вариант с указанием репозитория ALD Pro:

/usr/local/bin/aldprodj.sh --account {Username} --password {Password} --domain {{OsTemplate.Domain}} --host {{Computer.Name}} --repo 'deb https://dl.astralinux.ru/aldpro/frozen/01/3.3.0 1.8_x86-64 main base'

* Вариант с указанием подразделения:

/usr/local/bin/aldprodj.sh --account {Username} --password {Password} --domain {{OsTemplate.Domain}} --host {{Computer.Name}} --orgunits 'ou=ald.company.lan,cn=orgunits,cn=accounts,dc=ald,dc=company,dc=lan'
УЗ Учетная запись с правами добавления компьютеров в домен ALD Pro созданная ранее
Игнорировать ошибки Нет
Имена переменных в двойных и одинарных скобках следует указывать как показано в примере. Колибри-АРМ самостоятельно заменит эти переменные на нужные значения. Описание переменных и их значений приведено в документации к Колибри-АРМ

4. Развертывание ОС

«Управление ОС → Развертывания ОС → Создать развертывание ОС»

Создание развертывания ОС
Параметр Значение
Имя Задать понятное имя для задачи по развертыванию ОС
Шаблон установки Выбрать шаблон установки созданный ранее
Коллекция Выбрать коллекцию в которую будет добавлен компьютер после развертывания
Разрешено для неизвестных АРМ Если выбрать, то записи компьютера будут создаваться в Колибри-АРМ автоматически при развертывании. Если нет, то запись компьютера необходимо будет создавать заранее
Дата начала - Дата окончания Период в течении которого будет активно задание по развертыванию ОС

5. Возможные ошибки

Ошибки на этапе отработки скрипта добавления в домен ALD Pro

«Управление ОС → Развертывание ОС → <Выбрать имя развертывания> → Результаты → Действия»

Просмотреть журнал событий.

Ошибки в preseed-файле

На рабочей станции, где произошел сбой отработки preseed-файла:

1) Скопировать preseed-файл из временного каталога:

cp /tmp/preseed.yaml . 
# в конце команды точка, копируем в текущий каталог

2) Просмотреть preseed-файл и исправить ошибки:

nano preseed.yaml

3) Запустить установки с исправленным preseed-файлом, просмотреть журнал ошибок во время установки:

astra-installer-launcher --preseed preseed.yaml

Operating System not found

/opt/dokuwiki/data/pages/colibri-astra-deploy-os.txt · Последнее изменение: 2026/08/22 11:24 — dmitry@alifatov.ru

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: GNU Free Documentation License 1.3
GNU Free Documentation License 1.3 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki