Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
- Astra Linux Special Edition РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Common Edition 2.12
Что такое ALP-raw образ
ALP-raw образ (Astra Linux Portable) — решение для организации рабочего места с применением Astra Linux Special Edition. (подробности см. в статье ASTRA LINUX PORTABLE — ЗАЩИЩЕННОЕ ПОРТАТИВНОЕ РАБОЧЕЕ МЕСТО НА БАЗЕ ОС ASTRA LINUX SPECIAL EDITION). Отличия ALP-raw образа от ALP-live образа, создание которого описано в статье Создание Live-CD/Live-USB в Astra Linux, заключаются в:
- расширенном наборе предустановленных утилит;
- объёме образа (ALP-live -образ намного меньше по объёму);
- возможности сохранения изменений после перезагрузки образа, соответственно ALP-raw образ может быть модифицирован (в отличие от ALP-live образа, использующего файловую систему squashfs, и поэтому доступного только в режиме для чтения).
Важным преимуществом ALP-raw образа является отсутствие дополнительных настроек при подготовке образа для его загрузки в обоих режимах Legacy и EFI. При эксплуатации ALP-raw образа следует учитывать, что в нём отсутствует дисковый раздел подкачки (swap). Этот раздел можно создать самостоятельно или, по мере необходимости, использовать размещение области подкачки в файлах.
Как получить ALP-raw образ
ALP-raw образ операционной системы Astra Linux Special Edition (далее ОС) может быть предоставлен через личный кабинет технической поддержки по запросу. Кроме того, образ можно создать самостоятельно.
Запуск ALP-образа
Запуск в менеджере виртуальных машин
Для использования ALP-raw образа в гипервизоре KVM необходимо:
- Заранее добавить образ в хранилище KVM.
- При создании виртуальной машины (Далее ВМ) в окне выбора вариантов установки ОС, выбрать пункт "Импорт образа диска":
- Выбрать добавленный образ:
- Закончить создание ВМ согласно самостоятельно определенным настройкам и запустить её с добавленным ранее образом:
Запуск на VirtualBox
Для использования в Virtualbox необходимо конвертировать ALP-образ в понятный VirtualBox формат VDI командой:
VBoxManage convertdd input.img output.vdiГдеinput
иoutput
— имена образов до конвертации и после соответственно.- Далее выбрать полученный в результате конвертации VDI-образ при создании виртуальной машины:
- Затем нужно запустить ВМ с выбранным образом.
Запуск на физической машине
Для запуска ALP-raw образа на физической машине:
- Скопировать ALP-образ на съёмный физический носитель, например, на USB-flash.
- Подключить подготовленный носитель к компьютеру, на котором должна быть выполнена загрузка.
- При запуске компьютера войти в настройки BIOS, выбрать загрузку с подключенного носителя, и продолжить загрузку.
После выполнения указанных действий ALP-образ должен будет готов к работе.
Установка дополнительного ПО
Установка ПО из состава дистрибутива
Для установки пакетов из состава дистрибутива необходимо после загрузки ОС с ALP-raw образа установить в привод CD-ROM установочный диск Astra Linux Special Edition и выполнить команду:
- Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов
- Создание локального репозитория
Установка отдельных пакетов
Для установки дополнительных пакетов можно создать и подключить служебный репозиторий или скачать нужные deb-пакеты и установить их командой:
Расширение доступного пространства
Изменение размеров существующих разделов ALP-raw образа возможно при помощи загрузки с Live-образов, например Live-CD Astra Linux Common Edition: https://dl.astralinux.ru/astra/frozen/2.12_x86-64/2.12.43/iso/orel-2.12.43.6-30.03.2022_18.22.livecd.iso.
Также можно использовать сторонние Live-образы, например Gparted Live, Ubuntu и т.д. При этом следует убедиться в наличии ПО для работы с разделами (чаще всего это инструмент gparted) в данных образах.
- К выключенной ВМ с ALP-образом подключается диск с Live-образом
- При старте ВМ загрузка осуществляется с примонтированного Live-образа.
- После старта с Live-образа монтируется раздел с ALP-образом.
Использование режима read-only на корневом разделе.
При эксплуатации ALP-raw образа рекомендуется включать в нём режим read-only
при помощи утилиты astra-overlay
. Данная утилита вносит исправления в файл initrd и применяет механизм overlayfs over tmpfs
к корневому разделу. После загрузки операционной системы в данном режиме все изменения, внесённые в корневой раздел будут находятся в оперативной памяти и исчезнут после перезагрузки ОС. Чтобы иметь возможность сохранить какие-либо пользовательские настройки и изменения, рекомендуется выделить один дисковый раздел для работы в режиме чтения и записи, например дисковый раздел /home
.
Пример использования механизма astra-overlay с сохранением настроек NetworkManager
- Режим
astra-overlay
доступен в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) начиная с обновления БЮЛЛЕТЕНЬ № 20190912SE16 (оперативное обновление 3). Если образ создавался без обновлений, то необходимо установить в образ обновление безопасности (например, запустив образ в ВМ). Создать каталог
/home/system-connections
:sudo mkdir /home/system-connectionsДо включения режима
astra-overlay
(командаsudo astra-overlay status
возвращает НЕАКТИВНО) внести изменения в файл/etc/fstab
, добавив следующую строку (правило монтирования):/home/system-connections /etc/NetworkManager/system-connections none bind 0 0
Данное правило монтирования объединит содержимое каталогов
/etc/NetworkManager/system-connections
(будет доступно только на чтение) и /home/system-connections (будет доступно на чтение и запись). Если необходимо сделать изменяемыми существующие подключения - следует переместить соответствующие им файлы из каталога/etc/NetworkManager/system-connections
в каталог/home/system-connections
.Выполнить команду:
sudo mount -aВключить режим
astra-overlay
выполнив команду:sudo astra-overlay enableПроверить сохранение настроек, для чего, например, подключить сеть Wi-Fi и перезагрузить ОС. После перезагрузки информация о сети должна сохраниться и не потребуется снова искать идентификатор сети Wi-Fi (SSID) и вводить пароль.
Запись ALP-raw образа на USB-накопитель, Rutoken flash, Jacarta flash
Для записи ALP-raw образа на USB-накопитель можно воспользоваться утилитой dd
:
/path/to/raw.img
- это путь к raw-образу, а для указания USB-накопителя, на который необходимо записать образ, указать соответствующее имя.Узнать имена подключённых накопителей можно выполнив команду:
- опция
status=progress
- для отображения текущего прогресса записи. Если таймер остановился - значит идёт запись на диск и нужно дождаться завершения программы (для корректного завершения записи); - опция
bs=value
используется для ускорения записи. В качествеvalue
можно использовать значения 16K, 1M, 4M - все это определяет размер блока для единовременной записи и напрямую влияет на скорость записи. Например, образ размером 8GB будет очень долго записываться, если не указать опциюbs=4M
. В то же время для каких-то маленьких образов данную опцию лучше не использовать.
Пример использования утилиты dd
с этими опциями:
Запись ALP-raw образа в ОС Windows
В случае создания USB-накопителя в ОС Windows, можно использовать утилиту Rufus:
Запись образа обязательно должна выполняться в режиме dd:
В режиме DD данные с ISO-образа копируются побайтово с полным переносом структуры и свойств образа, при этом на USB носителе не создается файловая система и таблица разделов
После выбора образа и носителя для записи следует дождаться окончания операции:
После записи ISO-образа в DD-режиме USB-носитель станет недоступен для дальнейшей работы с ним через Проводник ОС Windows. Загрузка с носителя описана в разделе Запуск ALP-образа.
Самостоятельное создание ALP-raw образа
Менеджер виртуальных машин virt-manager
На машине, на которой выполняется создание образа, должен быть установлен пакет микропрограмм ovmf для UEFI-загрузки. Загрузить пакет можно по ссылкам:
- Установить загруженный пакет:sudo apt install ./ovmf_*_all.deb
- Перед созданием виртуальной машины (ВМ) сменить формат ВМ на
Raw
. Для этого открыть меню "Правка" → "Параметры", перейти во вкладку "Новая ВМ" и выбрать в поле "Формат" → "Raw":
- При создании ВМ на последнем шаге отметить чекбокс "Проверить конфигурацию перед установкой":
- В следующем окне в поле "Микрокод" выбрать UEFI:
- Настроить состав ВМ по своему усмотрению, задав объем дисков, размер ОЗУ и т.д.
- Смонтировать образ ОС, на основе которой будет создан ALP-образ.
- Запустить ВМ и приступить к установке ОС и разметке дискового пространства.
Установка ОС и разметка дискового пространства образа
- Выбрать пункт "Установка" или "Графическая установка " меню стандартной установки ОС:
- Дойти до шага разметки диска, выбрать пункт "Вручную":
- Создать минимум 3 дисковых раздела:
- Неиспользуемый дисковый раздел размера 1Мб. На этот раздел будет установлено ПО
grub-pc
для загрузки в режиме Legacy; - Дисковый раздел ESP. На этот раздел будет установлен загрузчик
grub
для загрузки в штатном режиме; Дисковый раздел для монтирования корня файловой системы (root).
- Неиспользуемый дисковый раздел размера 1Мб. На этот раздел будет установлено ПО
Продолжить установку ОС выбрав дисковый раздел для монтирования корня файловой системы (root) как основной для размещения ОС.
- По окончании установки запустить ВМ с установленной ОС.
На запущенной ВМ установить пакеты
grub-pc-bin
иgparted
:sudo apt install grub-pc-bin gpartedЗапустить
gparted
, выбрать первый раздел, отмеченный как Legacy, зайти в меню раздела:Если ранее не была произведена разметка диска а раздел для grub не был создан,
их можно создать на данном шаге с помощью
gparted
Выставить флаг bios_grub на первый раздел,отмеченный как Legacy:
Установить загрузчик grub на первый,отмеченный как Legacy:
sudo grub-install --target=i386-pc /dev/sda
Виртуальная машина VirtualBox
- Создать ВМ с приведенными на рисунке ниже настройками.
- Активировать параметр " Включить EFI (только специальные ОС) ":
- Запустить созданную ВМ.
- Перейти к разделу Установка ОС и разметка дискового пространства образа.
- Выключить ВМ, изъять загрузочный ISO-файл из виртуального привода:
- Отключить EFI:
Проверка работы самостоятельно созданного ALP-образа
После описанных выше настроек созданный образ можно будет загружать в режимах Legacy и в EFI.
Для проверки работоспособности нужно выполнить инструкции из раздела Запуск ALP-образа.
При появлении ошибок в первую очередь убедиться, что на первом дисковом разделе установлен флаг bios_grub
.
Модификация ALP-live образов
Внесение изменений в squashfs
squashfs
— специализированная файловая система, предоставляющая доступ к данным в режиме «только чтение» и сжимающая хранящиеся данные.
- Установить пакеты:
sudo apt install debootstrap gparted squashfs-tools xorriso rsync
- Создать основной рабочий каталог
liveCD
и подкаталоги:mkdir -p ~/liveCD/{mnt,extract-cd,squashfs,edit}
- Перейти в основной рабочий каталог:
cd ~/liveCD
- Примонтировать live-образ:
sudo mount -o loop <путь>/<имя_файла_с_ISO-образом>.iso mnt
- Скопировать файлы:
sudo rsync --exclude=/live/filesystem.squashfs -a mnt/ extract-cd
- Включить модуль ядра
squashfs
:sudo modprobe squashfs
- Примонтировать раздел с файловой системой
squashfs:
sudo mount -t squashfs -o loop mnt/live/filesystem.squashfs squashfs/
- Скопировать раздел в ранее созданный рабочий каталог
edit
:sudo cp -a squashfs/* edit
- Скопировать файл настройки DNS
resolv.conf
для работы с сетью при модификации образа:sudo cp /etc/resolv.conf edit/etc/
- Cмонтировать системные каталоги устройств:
sudo mount --bind /dev/ edit/dev
- Создать chroot-окружение для рабочего каталога
edit
:sudo chroot edit
Chroot-окружение — механизм ОС для создания изолированной среды выполнеия программ. При его использовании происходит изменение корневого каталога для запускаемых из окружения процессов.
- Cмонтировать служебные файловые системы для корректной работы chroot-окружения последовательно выполнив команды:
mount -t proc none /proc/
mount -t sysfs none /sys/
mount -t devpts none /dev/pts
- Установить переменные языковой локали и домашнего каталога для chroot-окружения последовательно выполнив команды:
export HOME=/root
export LC_ALL=C
- Настроить службу D-Bus, необходимую для обмена информацией с другими службами. Для этого назначить идентификатор для службы D-Bus:
dbus-uuidgen > /var/lib/dbus/machine-id
- Перенаправить службу системной инициализации ОС:
dpkg-divert --local --rename --add /sbin/initctl
- Создать пустую символическую ссылку для каталога
/sbin/initctl:
ln -s /bin/true /sbin/initctl
- Внести требуемые изменения в ОС. Ниже приведен пример изменений:
apt-get update
adduser test
passwd test
ssh-keygen -t rsa -b 4096
systemctl enable sshd
apt-get install git
apt-get remove --purge libreoffice-*
- Выполнить очистку перед выходом:
- Очистить кеш установленных пакетов:
apt clean
- Удалить временные файлы последовательно выполнив команды:
rm -rf /tmp/* ~/.bash_history
rm /var/lib/dbus/machine-id
rm /etc/resolv.conf
rm /sbin/initctl
- Выключить перенаправление службы системной инициализации ОС:
dpkg-divert --rename --remove /sbin/initctl
- Размонтировать служебные файловые системы ОС последовательно выполнив команды:
umount /proc || umount -lf /proc
umount /sys || umount -lf /sys
umount /dev/pts || umount -lf /dev/pts
- Выйти из chroot-окружения, размонтировать рабочий каталог
edit
образа последовательно выполнив:exit
sudo umount edit/dev || umount -lf edit/dev
- Очистить кеш установленных пакетов:
- Создать новую файловую систему для образа:
sudo mksquashfs edit extract-cd/live/filesystem.squashfs
- Записать параметры файловой системы на образ:
du -sx --block-size=1 edit | cut -f1 | sudo tee extract-cd/live/filesystem.size
- Указать имя образа последовательно выполнив команды:
export IMAGE_NAME="LIVECD-ALSE-<номер_версии_ОС>"
echo $IMAGE_NAME | sudo tee extract-cd/README.diskdefines
- Перейти в рабочий каталог
extract-cd
и перезаписать хеш-суммы для файлов образа последовательно выполнив команды:cd extract-cd
sudo rm md5sum.txt
sudo -s
find -type f -print0 | xargs -0 md5sum |
grep -v isolinux/boot.cat | tee md5sum.txt
- Собрать образ:
- Для Astra Linux Special Edition 1.8:sudo xorriso -as mkisofs -D -r -V "$IMAGE_NAME&" -cache-inodes -J -b boot/grub/bios.img -c boot/grub/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 3 -o ../live-alse-1.8.1.iso .
- Для более ранних обновлений:sudo xorrisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 3 -o ../live-alse-1.7.5.iso .
- Для Astra Linux Special Edition 1.8:
Внесение изменений в файлы, не входящие в squashfs
Для внесения изменений в такие файлы как live.cfg, isolinux.cfg:
- Установить пакеты:
sudo apt install reprepro xorriso debootstrap
- Создать подкаталог для распаковки и распаковать ISO-образ в созданный каталог:
mkdir ~/cd
&&7z x
<имя_файла_с_ISO-образом
>-o"cd"
Каталог для разархивирования следует указывать в кавычках и без пробела после параметра-o
- Для выполнения дальнейших модификаций разрешить запись для каталога с распакованными файлами:
chmod -R +w ~/cd
- Внести требуемые изменения.
- Сгенерировать хеш-суммы:
cd ~/cd; find ! -name md5sum.txt -follow -type f -print0 | xargs -0 md5sum > md5sum.txt ; cd ..
- Извлечь сектор MBR из исходного ISO-образа дистрибутива:
dd if=<имя_файла_с_ISO-образом> bs=1 count=432 of=isohdpfx.bin
- Создать модифицированный ISO-образ указав новое имя модифицированного образа:
xorriso -as mkisofs -isohybrid-mbr isohdpfx.bin -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat \
-V "LIVECD-ALSE-<номер_версии_ОС>" -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -isohybrid-gpt-basdat \
-append_partition 2 0xef cd/boot/grub/efi.img -o <новое_имя_файла_с_ISO-образом>.iso ~/cd