Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Введение
Для установки Astra Linux Special Edition x.8 используется новая программа установки (установщик) — astra-installer. В более ранних обновлениях Astra Linux используется установщик debian-installer. Astra-installer использует конфигурационные файлы с синтаксисом YAML, несовместимые с debian-installer:
- пример файла preseed для Astra Linux 1.8 (для установщика astra-installer) приведен далее в настоящей статье;
- пример файла preseed для Astra Linux 1.7 и более ранних обновлений (для установщика debian-installer) см. в статье Пример файла preseed для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7.
Подробная документация по командам нового файла автоматической установки доступна по ссылке: https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html.
Предупреждение |
---|
|
Другие особенности синтаксиса YAML:
- все символы после символа # считаются комментариями;
- строки представляют собой пары "ключ" - "значение";
- значения могут содержать пробелы, могут быть заключены или не заключены в кавычки.
Установка по сети
Порядок настройки инфраструктуры для установки по сети не зависит от используемого установщика и изложен в статье Автоматическая установка Astra Linux Special Edition 1.7.
Конвертация формата 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 preseed | Astra preseed |
tasksel tasksel/first | tasks: |
---|---|
Fly desktop | Fly |
Internet suite | Internet |
Office suite | Office |
Graphic tools | Graphics |
Multimedia | Multimedia |
Virtualization tools | Fly-virtualization |
Games | Games |
Base packages | Base |
Ufw firewall | Ufw |
Fly apps for working on devices with touchscreen | Fly-qml |
SSH server | Fly-ssh |
astra-additional-setup/additional-settings-smolensk | features: |
Enable Mandatory Integrity Control | astra-mic-control |
Enable Mandatory Access Control | astra-mac-control |
Enable ELF signature check | astra-digsig-control |
Clearing freed external memory | astra-secdel-swapwiper |
Disable bootloader menu show up | astra-nobootmenu-control |
Disable ptrace capability | astra-ptrace-lock |
Request password for sudo command | astra-sudo-control |
Disable non-execution bit setup | astra-nochmodx-lock |
Enable scripts lock | astra-interpreters-lock |
Enable macros lock | astra-macros-lock |
Enable console lock | astra-console-lock |
Enable system limits | astra-ulimits-control |
Disable automatic network configuration | astra-noautonet-control |
Local time for system clock | astra-installer-localtime-control |
astra-additional-setup/os-check | mode: |
Base security level Orel | 0 |
Advanced security level Voronezh | 1 |
Maximum security level Smolensk | 2 |
Параметры меню 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. Рекомендуется использовать файл с установочного диска. Файл vmlinuz на установочном диске принадлежит пользователю root и недоступен другим пользователям для чтения. Для того, чтобы файл мог передаваться по сети, следует установить на его копию, предназначенную для передачи, права доступа 644 (rw-r--r–). Например:
Command sudo chmod 644 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
Информация | ||||
---|---|---|---|---|
|
Далее приведен пример файла меню, содержащего загрузку шрифта с поддержкой кириллицы и двух элементов меню (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
# Настройки репозиториев
# При установке по сети требуется обязательно указать в данной секции удаленный репозиторий. При установке из образа определять данную секцию не обязательно
repos:
debootstrap:
name:
default: "Main repository"
ru_RU: "Основной репозиторий"
url: 'deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 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 # Файл шаблона разметки
# Выбор типа таблицы разделов:
# 1. Если не используется разметка дисков с помощью опции config, то указать тип таблицы разделов можно с помощью опций gpt и bios:
# gpt: True # Создать таблицу разделов GPT. Рекомендованный вариант.
# bios: True # Произвести установку системы в режиме совместимости с BIOS
# 2. Если используется опция config, то тип таблицы разделов указывается в команде очистки разделов clearpart:
# clearpart --all --disklabel=gpt # Рекомендованный вариант
# или
# clearpart --all --disklabel=msdos
# В данном примере полностью описывается шаблон разметки
# Формат шаблона — Kickstart
# Является аналогом ручной разметки
# При установке в режиме UEFI требуется описать разделы, необходимые для данного режима. Пример такого описания включен в шаблон:
# part /boot/efi --label=efi --fstype=ext2 --size=1024 --asprimary
storage:
# gpt: true # Выбор типа таблицы разделов. В данном примере не используется, так как далее для разметки диска используется опция confg.
# Опция cjyfig и шаблон разметки Строки шаблона должны быть разделены последовательностью из двух символов "\n" (новая строка)
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_intarget - то же самое, что и 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"
|