Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)


Введение

В составе Astra Linux x.8 используется новая программа установки ОС — astra-installer. В более ранних обновлениях Astra Linux для установки ОС используется программа установки debian-installer. Astra-installer использует конфигурационные файлы установки синтаксисом YAML, несовместимые с debian-installer. Пример файла preseed для Astra Linux 1.7 (для debian-installer) см. в статье Пример файла preseed для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7. Общий порядок настройки инфраструктуры для установки по сети см. в статье Установка Astra Linux по сети (UEFI или Legacy BIOS).

Предупреждение
  • При работе с файлами YAML необходимо помнить, что этот синтаксис чувствителен к величине отступов в начала строки. Для формирования отступов следует использовать пробелы и недопустимо использовать табуляции.
  • При планировании развертывания по сети следует учитывать, что такая установка из-за отсутствия физического установочного носителя требует развертывания его копии в оперативной памяти, что повышает требования к её минимальному объему. Рекомендованный минимальный объем оперативной памяти для сетевой установки составляет 2.6 ГБ. См. также статью Рекомендации по параметрам аппаратной платформы x86_64 для Astra Linux Special Edition.

Другие особенности синтаксиса:

  • все символы после символа # считаются комментариями;
  • строки представляют собой пары "ключ" - "значение";
  • значения могут содержать пробелы, могут быть заключены или не заключены в кавычки.


Конвертация формата debian-preseed в формат astra-preseed

Предупреждение

Это вспомогательный инструмент для упрощения переноса форматов. Полная конвертация не гарантируется.

В состав пакета astra-installer входит инструмент astra-installer-converter, предназначенный для автоматической конвертации preseed-файлов из формата debian-installer в формат astra-installer. Для использования инструмента необходимо установить пакет:

Command
sudo apt install astra-installer

astra-installer-converter имеет два позиционных аргумента:

  • первый (обязательный) аргумент — имя файла Debian preseed;
  • второй (необязательный) аргумент – имя файла для вывода результата. Если аргумент не указан, то используется стандартный поток вывода.

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

  • С сохранением вывода в файл astra-installer-preseed.yaml 

    Command
    astra-installer-converter preseed.cfg astra-installer-preseed.yaml 


  • С выводом в стандартный поток вывода:

    Command
    astra-installer-converter preseed.cfg 


Варианты значений и их соответствие специфичных для Astra Linux параметров debian-preseed и astra-preseed файлов:

Debian preseedAstra preseed
tasksel tasksel/firsttasks:
Fly desktopFly
Internet suiteInternet
Office suiteOffice
Graphic toolsGraphics
MultimediaMultimedia
Virtualization toolsFly-virtualization
GamesGames
Base packagesBase
Ufw firewallUfw
Fly apps for working on devices with touchscreenFly-qml

SSH server

Fly-ssh

astra-additional-setup/additional-settings-smolensk

features:

Enable Mandatory Integrity Control

astra-mic-control
Enable Mandatory Access Controlastra-mac-control
Enable ELF signature checkastra-digsig-control
Clearing freed external memoryastra-secdel-swapwiper
Disable bootloader menu show upastra-nobootmenu-control
Disable ptrace capabilityastra-ptrace-lock
Request password for sudo commandastra-sudo-control
Disable non-execution bit setupastra-nochmodx-lock
Enable scripts lockastra-interpreters-lock
Enable macros lockastra-macros-lock
Enable console lockastra-console-lock
Enable system limitsastra-ulimits-control
Disable automatic network configurationastra-noautonet-control
Local time for system clockastra-installer-localtime-control

astra-additional-setup/os-check

mode:

Base security level Orel

0
Advanced security level Voronezh1
Maximum security level Smolensk2


Параметры меню PXE-Linux

Общие параметры PXE-Linux

Для создания каталогов с первичной информацией, передаваемой сервером PXE,  можно установить пакет grub-efi. При установке этого пакета создается каталог /srv/tftp/boot, содержащий все необходимые файлы.

Если в меню PXE используется кириллица, то конфигурация меню должна предусматривать загрузку шрифтов с поддержкой кириллицы.

  • для варианта загрузки EFI такой шрифт предоставляется пакетом grub-efi;
  • для загрузки BIOS шрифт доступен в составе пакета console-cyrillc (например, /usr/share/console-cyrillic/UniCyr_8x16.psf) и может быть скопирован в дерево файлов, передаваемых при запросе загрузки по сети.

Параметры элемента меню PXE-Linux для установки Astra Linux x.8 по сети должны включать в себя следующие параметры:

  • Указание файла vmlinuz. Рекомендуется использовать файл с установочного диска.
  • Указание файл initrd. Рекомендуется использовать файл с установочного диска.
  • Параметр boot=live.
  • Параметр astra-install=1.
  • Параметр fetch с указанием файла с образом файловой системы squashfs для первичной загрузки. Рекомендуется использовать файл live/filesystem.squashfs с установочного диска. 
  • Параметр astra-installer-preseed с указанием файла preseed.

Далее приведены примеры файлов меню, содержащего загрузку шрифта с поддержкой кириллицы и двух элементов меню (menuentry):

  • элемент для загрузки с жесткого диска (для варианта EFI используется структура данных созданная при установке пакета grub-efi);
  • элемент для загрузки ОС по сети и установки.

Пример меню для загрузки BIOS/MBR/GPT

Блок кода
FONT pxelinux.cfg/UniCyr_8x16.psf

LABEL local
    MENU LABEL Загрузка с жесткого диска
    kernel chain.c32
    append hd0

LABEL netinstall
    MENU LABEL Astra Linux 1.08.00 with astra-installer
    kernel <сервер>/vmlinuz initrd=<сервер>/initrd fetch=http://<сервер>/filesystem.squashfs boot=live astra_install=1 astra-installer-preseed=tftp://<сервер>/astra-installer-preseed.yaml

Пример элемента для grub.cfg для загрузки EFI

Информация
  1. Для установки Astra Linux с использованием EFI карта создаваемых дисковых разделов должна содержать раздел с точкой монтирования /boot/efi (см. далее пример файла с параметрами установки).
  2. Для создания каталога с первичной информацией, передаваемой сервером PXE:
    1. Установить пакеты grub-efi и grub-common:

      Command
      sudo apt install grub-efi grub-common


    2. Выполнить команду:

      Command
      sudo grub-mknetdir --net-directory=/srv/tftp --subdir=/boot/grub -d /usr/lib/grub/x86_64-efi

      При выполнении указанной команды будет создан каталог /srv/tftp/boot, содержащий все необходимые для сетевой установки EFI файлы.

Далее приведен пример файла меню, содержащего загрузку шрифта с поддержкой кириллицы и двух элементов меню (menuentry):

  • элемент для загрузки с жесткого диска (используется структура данных, созданная командой grub-mknetdir);
  • элемент для загрузки ОС по сети и установки.

Пример:

Блок кода
loadfont $prefix/fonts/unicode.pf2

menuentry "Boot default EFI bootloader from HDD" {
    insmod chain
    insmod disk
    insmod part_gpt
    insmod part_mbr
    search --set=root --file /efi/astralinux/grubx64.efi
    chainloader /efi/astralinux/grubx64.efi
    boot
}

menuentry "Установка Astra Linux SE 1.8" {
        set gfxpayload=keep
        linux    /01.08.00/vmlinuz quiet modprobe.blacklist=evbug boot=live astra_install=1 \
                 fetch=http://192.168.1.7/repo/01.08/00/main/live/filesystem.squashfs \
                 astra-installer-preseed=tftp://192.168.1.7/01.08.00/astra-installer-preseed.yaml
        initrd   /01.08.00/initrd
}


Файл preseed для загрузки по сети Astra Linux x.8

Комментарии по применению представлены в файле.

Блок кода
# Автоматически подтвердить согласие с лицензией
license: true

# Список доступных языков системы
locales:
  - en_US
  - ru_RU

# Список доступных раскладок клавиатуры
layouts:
  - us
  - ru

# Настройки комбинации клавиш для переключения раскладки клавиатуры (alt_shift_toggle, ctrl_shift_toggle, ...)
# grp options from /usr/share/X11/xkb/rules/base.lst
layout_switch_keys:
  - ctrl_shift_toggle

# Настройки часового пояса
timezone: Europe/Moscow

# Настройки синхронизации времени (опционально)
# Для того, чтобы служба синхронизации времени автоматически запускалась после установки ОС следует указать ntp_state: True.
# При этом если значение параметра ntp_settings не задано, то для синхронизации будет использоваться сервер ntp1.vniiftri.ru.
ntp_settings:
  ntp_state: True # Статус синхронизации
  ntp_server: 'ntp1.vniiftri.ru' # Сервер для синхронизации (опционально)

# Настройки пользователя
user:
  username: astra # Имя пользователя
  # Ниже приведены примеры настройки паролей пользователя и GRUB
  # Supported plain and hashed passwords (see man chpasswd and man crypt)
  password: Passw0rd
  # или
  # password-encrypted: $6$hackmehackme$ZzN7PixBxkr6xS2Mdc9rUgjBsF/HimXDXgDGM48JOq/fBnuOKIf42/wOjwR9vA/D2Blwbz.82AGwjxnyaVntX0
  # Supported plain and encrypted GRUB passwords (see man grub-mkpasswd-pbkdf2)
  grub-password: Passw0rd
  # или
  # grub-password-encrypted: <зашифрованный пароль GRUB>

host:
  # Имя хоста
  hostname: astra
  # Генерировать случайный суффикс вида "-NNNNN" к имени (не обязательно)
  generate_sub_name: True

# Настройки репозиториев
# При установке по сети требуется обязательно указать в данной секции удаленный репозиторий. При установке из образа определять данную секцию не обязательно
# Вариант для 1.8.0:
#####################################################################################
#repos:
#  sources:
#    - repo:
#        name:
#            default: "main"
#            ru_RU: ""
## Вариант указания репозитория для Astra Linux 1.8:
#         url: https://dl.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ main contrib non-free
#  debootstrap: https://dl.astralinux.ru/astra/stable/1.8_x86-64/repository-main/
## Вариант указания репозитория для Astra Linux 4.8:
##         url: https://download.astralinux.ru/astra/stable/4.8_arm/repository-main/ baikal1 main contrib non-free
##  debootstrap: https://dl.astralinux.ru/astra/stable/4.8_arm/repository-main/
# repo_source: auto
#######################################################################################
# Вариант для 1.8.1:
repos:
  debootstrap:
    name:
      default: "Main repository"
      ru_RU: "Основной репозиторий"
    url: 'deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ main contrib non-free'
  sources:
    - repo:
        name:
          default: "Main repository"
          ru_RU: "Основной репозиторий"
        url: 'deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ main contrib non-free'
#######################################################################################

# Ядро, которое будет установлено
kernel-package: 6.1.50-1-generic

# Список компонентов системы, которые будут установлены
tasks:
  - Base
  - Fly
  - hidden

# Идентификатор режима защищенности, который будет применен к устанавливаемой системе (в данном примере будет применен максимальный режим)
mode: 2

# Список дополнительных настроек (настройки безопасности), которые будут применены к устанавливаемой системе
features:
  - astra-mic-control
  - astra-mac-control
#  - astra-ptrace-lock
#  - astra-sudo-control
# Ниже приведены примеры конфигурации разметки

# В данном примере разметка будет выполнена в соответствии с заранее прописанным шаблоном из указанного файла
#storage:
#  # Device is enought. Default template will be used.
#  device: /dev/sdb # Диск, к которому будет применена разметка, и на который будет установлена система
#  template: default_template.txt # Файл шаблона разметки
# Две следующие опции следует использовать если не используется ручная разбивка с помощью опции config: 
#  # gpt: True # Создать таблицу разделов GPT. 
#  # bios: True # Произвести установку системы в режиме совместимости с BIOS

# В данном примере полностью описывается шаблон разметки
# Формат шаблона — Kickstart
# Является аналогом ручной разметки
# При установке в режиме UEFI требуется описать разделы, необходимые для данного режима. Пример такого описания включен в шаблон:
# part /boot/efi --label=efi --fstype=ext2 --size=1024 --asprimary
storage:
  # Строки шаблона должны быть разделены последовательностью из двух символов "\n" (новая строка)
  # Для задания типа таблицы разделов используется команда clearpart --all --disklabel=gpt или clearpart --all --disklabel=msdos
  config: "
    ignoredisk --only-use=sda|vda

    clearpart --all --disklabel=gpt

    bootloader --location=partition

    part biosboot --fstype=biosboot --size=2

    part /boot --label=boot --fstype=ext2 --size=1024 --asprimary

    part /boot/efi --label=efi --fstype=ext2 --size=1024 --asprimary

    part pv.lvm_part --grow --asprimary

    volgroup VG pv.lvm_part

    logvol / --fstype=ext4 --name=lv_root --vgname=VG --percent=100

    logvol swap --fstype=swap --name=lv_swap --vgname=VG --recommended"

# Аналог preseed/late_command в debian installer
# Команды будут выполнены в окружении инсталлятора
#late_command: "
#sudo apt-get download tree;
#sudo dpkg -i tree*.deb"

# То же самое, что и late_command с тем отличием,
# что команды будут выполнены в окружении устанавливаемой системы
late_command_intarget: "
sed -i 's/^XKBOPTIONS=.*/XKBOPTIONS=\"grp:ctrl_shift_toggle,grp_led,numpad:microsoft\"/' /etc/default/keyboard ;
wget -O /usr/local/bin/update.sh ftp://192.168.1.7/al_update.sh;
chmod +x /usr/local/bin/update.sh;
wget -O /lib/systemd/system/update.service ftp://192.168.1.7/al_update.service;
systemctl enable update.service"