ALP-live — это образ ОС, предназначенный для работы сразу после загрузки со съемного носителя (СD, DVD, USB-Flash) без установки ОС на жесткий диск. Данный образ является неизменным, не позволяя сохранять изменения при работе ОС.

Все образы являются гибридными, их можно напрямую записывать как на USB устройства, так и на обычные CD/DVD диски. Подробнее см. Создание загрузочных USB-накопителей.


Инструкция применима:

  • 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) с установленным обновлением БЮЛЛЕТЕНЬ № 20200722SE16 (оперативное обновление 6)

  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
    с установленным обновлением Бюллетень № 20201007SE16

  • Astra Linux Common Edition 2.12.29

Для создание образа требуются привилегии суперпользователя root. 

Установка пакетов

Сборки образов используется пакет live-build-astra. Пакет доступен в репозитории в Astra Linux Special Edition x.7 в основном репозитории, в Astra Linux Special Edition 1.6 - в репозитории установочного диска, в Astra Linux Common Edition - в интернет-репозитории. При подключенном репозитории необходимые пакеты можно установить командой:

sudo apt install live-build-astra

Возможные параметры исполнения

Со списком возможных параметров можно ознакомиться выполнив команду:

sudo live-build-astra -h

Live CD builder
Usage: live-build-astra [OPTIONS]

OPTIONS
     -h|--help display this help and exit
     -d <distribution> create liveCD of given distribution
     -r <url> URL for distribution repo
     -i <filename> ISO image(s) to use as a source of packages and other stuff
(without -d, -r and -i options programm will be try to build image for current distribution with first repo from sources.list)

Example-1: live-build-astra
Example-2: live-build-astra -d smolensk -i "/usr/local/tmp/smolensk-current.iso;/usr/local/tmp/devel-smolensk-current.iso"
Example-3: live-build-astra -d orel -r ftp://192.168.0.254/repo
Example-4: live-build-astra -d smolensk -r "ftp://192.168.0.254/repo-main;ftp://192.168.0.254/repo-main-update;ftp://192.168.0.254/repo-devel"

Параметры:

Количество используемых образов или сетевых репозиториев не должно превышать 4. Например:

  • для Astra Linux Special Edition x.8:
    1. Актуальный образ основного репозитория (включает актуальные оперативные и срочные обновения);
    2. Актуальный образ расширенного репозитория.
  • для Astra Linux Special Edition x.7:
    1. Образ установочного диска;
    2. Образ с обновлением основного репозитория;
    3. Образ с актуальным базовым репозиторием;
    4. Образ с актуальным расширенным репозиторием;
  • для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) (использование указанного набора репозиториев является обязательным):
    1. Образ установочного диска;
    2. Образ диска средствами разработки;
    3. Образ диска с обновлением установочного диска ;
    4. Образ диска с обновлением диска со средствами разработки;


В случае указания нескольких образов или репозиториев первым обязательно должен быть указан тот, на основе которого будет собран debootstrap для Live-образа. При использовании файла /etc/apt/sources.list источник, на основе которого будет собран debootstrap для live-образа, должен быть указан в первой строке.

При создании Live-образа можно указывать образ кумулятивных обновлений безопасности и дополнительные пакеты для работы с обновленной системой. Если не указать вышеописанные опции, будет выполнена попытка собрать образ текущего дистрибутива с использованием в качестве источника первой строки из файла /etc/apt/sources.list

Добавление/удаление пакетов

Удаление пакетов из сборки

Список удаляемых пакетов расширять крайне нежелательно, так как удаляемые пакеты будут удалены со всеми зависимостями, что может привести к полной неработоспособности собранного Live-образа.

Пакеты, удаляемые по умолчанию из собираемого live-образа, находятся в файле:

/usr/share/live-build-astra/customyze/shrink.roster

Добавление пакетов в сборку

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

/usr/share/live-build-astra/customyze/astra_extend.list

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

При добавлении пакета, кроме внесения его в файл /usr/share/live-build-astra/customyze/astra_extend.list, необходимо проверить наличие пакета в shrink.roster, и при необходимости убрать его из удаляемых по умолчанию пакетов.


Если добавляемый пакет находится в нестандартном компоненте репозитория, не указанном в sources.list chroot-а надо дополнительно указать все компоненты) в /usr/share/live-build-astra/customyze/external_repo.list, см. раздел Добавление дополнительных репозиториев для сборки.

Добавление deb-файлов в сборку

Если какие-то необходимые для сборки пакеты отсутствуют в репозиториях то их можно добавить в виде дополнительных deb-файлов. Для добавления в сборку дополнительных deb-файлов эти файлы нужно перед запуском сборки скопировать в каталог /usr/share/live-build-astra/customyze/extra_pkgs.

Добавление дополнительных репозиториев для сборки

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


Добавить дополнительные репозитории, в которых будет выполняться поиск пакетов при сборке, можно указав описания этих репозиториев в файле /usr/share/live-build-astra/customyze/external_repo.list, например:
# Attention! Addition external repo can destroy validity of build live-disk
# Example:
# deb [trusted=yes] https://artifacts.elastic.co/packages/7.x/apt stable main
deb [trusted=yes] http://ftp.debian.org/debian stable main contrib non-free

Например, таким способом могут быть добавлены архитектурно-зависимые компоненты репозитории для архитектур, отличных от архитектуры x86-64:

deb ftp://1.2.3.4/frozen/alse-X.7/4.7/4.7.5.1/base-repository 4.7_arm huawei1
deb ftp://1.2.3.4/frozen/alse-X.7/4.7/4.7.5.1/base-repository 4.7_arm main contrib non-free huawei1 

Дополнительные пакеты, которые должны будут установиться из этих репозиториев, следует указать в файле /usr/share/live-build-astra/customyze/astra_extend.list, см. Добавление пакетов в сборку.

Размещение готового live-образа

Собранные live-iso помещаются в каталог /opt/live_CD.

Журнал сборки

В случае неудачной сборки причины сбоя можно посмотреть в журнале сборки в файле build.log, расположенном в текущем каталоге.

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

Пример 1 

При запуске сборки без указания ключей  будет создан ISO-образ текущей ОС хоста (при условии, что правильно настроены источники пакетов в файле /etc/apt/sources.list).

В список используемых для сборки образа репозиториев автоматически добавляются только первые два репозитория из указанных в файле /etc/apt/sources.list, остальные репозитории не используются.

 

sudo live-build-astra

Пример 2

Если нужно собрать образ обновления ОС, отличного от ОС хоста, либо в случае отсутствия верно сконфигурированного /etc/apt/sources.list, при создании образа могут применяться следующие ключи:

  • -d <distribution> – явное указание дистрибутива (1.7_x86-64, orel, smolensk и др.);
  • -i <filename> – указание абсолютных путей к установочному ISO-образу собираемого релиза;
    если ISO-образов несколько, то пути к ним должны быть указаны через символ ";"
  • -r <url> – указание сетевого URL для репозитория собираемого релиза;
    если URL несколько, они должны быть указаны через символ ";"

Например, для сборки образа Astra Linux Special Edition 1.7 при наличии соответствующих ему установочных образов iso, команда сборки может выглядеть следующим образом:

sudo live-build-astra -d 1.7_x86-64 -i "/usr/local/tmp/1.7-main.iso;/usr/local/tmp/1.7-base.iso"

В случае указания нескольких образов iso или путей url первым обязательно должен быть указан тот, на основе которого будет собран debootstrap для live-образа.

Пример 3

Сборка Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) из образов дисков с использованием обновлений:

sudo live-build-astra -d 1.7_x86-64 -i "/tmp/1.7-bin.iso;/tmp/1.7-update-bin.iso;/tmp/1.7-update-base.iso;/tmp/1.7-ext.iso"
Пример 4

Сборка Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) из интернет-репозиториев с использованием актуального обновления:

sudo live-build-astra -d 1.7_x86-64 -r "http://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main;http://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-update"
Пример 5

Сборка Astra Linux Special Edition 1.8 из интернет-репозитория:

sudo live-build-astra -d 1.8_x86-64 -r "https://dl.astralinux.ru/astra/stable/1.8_x86-64/repository-main"

Создание ALP-live-образа с ядром 5.4

Для создания live-образов Astra Linux РУСБ.10015-01 (очередное обновление 1.6) с ядром 5.4:

  1. Использовать для сборки образа оперативное обновление БЮЛЛЕТЕНЬ № 20210730SE16 (оперативное обновление 8) или более позднее;

  2. Добавить в образ пакеты модулей ядра:

    echo "linux-5.4" | sudo tee -a /usr/share/live-build-astra/customyze/astra_extend.list

  3. Загрузить архив для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):
    1. С установленным обновлением оперативное обновление БЮЛЛЕТЕНЬ № 20211008SE16 (оперативное обновление 9): по ссылке ALSE-live-build-169.tar.gz;
    2. С установленным обновлением оперативное обновление БЮЛЛЕТЕНЬ № 20210730SE16 (оперативное обновление 8): по ссылке ALSE-live-build-168.tar.gz ;

  4. Распаковать архив:

    tar xf ALSE-live-build-*.tar.gz

  5. Скопировать модифицированные пакеты в каталог /usr/share/live-build-astra/customyze/extra_pkgs:

    sudo cp ALSE-live-build-168/pool/non-free/l/linux-astra-modules/* /usr/share/live-build-astra/customyze/extra_pkgs

  6. Выполнить сборку образа по обычной процедуре.

Настройка загрузки ALP-live образа по сети

Для загрузки ALP-live образов по сети на рабочие станции:

  1. Создать ALP-live образ или получить его через личный кабинет и, при необходимости, модифицировать. Инструкции по созданию и модификации ALP-live образов приведены ранее в настоящей статье.
  2. Выполнить настройку инфраструктуры PXE по инструкции Подготовка инфраструктуры PXE на Astra Linux.
  3. Создать каталог для монтирования образа, например, каталог /var/www/html/alse:
    sudo mkdir /var/www/html/alse
    В данном примере предполагается, что для загрузки используется протокол HTTP. При использовании FTP имя каталога для монтирования должно быть соответственно откорректировано.
  4. Примонтировать образ в созданный каталог:
    sudo mount <путь_к_образу> /var/www/html/alse
  5. Создать в корневом каталоге сужбы tftp /srv/tftp рабочие подкаталоги live и pxelinux.cfg:
    sudo mkdir /srv/tftp{live,pxelinux.cfg}
  6. Скопировать в каталог /srv/tftp/live из образа файлы vmlinuz (в файл /srv/tftp/live/vmlinuz-live) и initrd.img (в файл initrd-live):
    sudo cp /var/www/html/alse/live/vmlinuz-*-generic /srv/tftp/live/vmlinuz-live
    sudo cp /var/www/html/alse/live/initrd.img-*-generic /srv/tftp/live/initrd-live
    Файлы при копировании можно переименовать удобным способом, при этом далее использовать новые имена файлов.
  7. Можно также скопировать из live-образа файл live/filesystem.squashfs, и вместо файла на примонтированном образе использовать эту копию файла.
  8. Создать файл загрузочного меню /srv/tftp/pxelinux.cfg/default со следующим содержимым:
    1. Для Astra Linux Special Edition очередное обновление 1.8 по умолчанию используется имя пользователя user, но с этим именем не работает автоматический вход в сессию пользователя. Другое имя пользователя для входа (и, при, необходимости иные параметры) задаются в загрузочном меню. Примеры меню для live-загрузки с автоматическим входом от имени пользователя astra-live и с настройкой локалей и раскладок клавиатуры:
      1. Для загрузки EFI:
        menuentry "Установка Live-Astra Linux Special Edtion 1.8 EFI" {
            set background_color=red
            set gfxpayload=keep
            linux /live/vmlinuz fetch=ftp://live/filesystem.squashfs boot=live noautologin nox11autologin components username=astra-live locales=en_US.UTF-8,ru_RU.UTF8 keyboard-layout=us,ru keyboard-variants=, keyboard-options=grp:ctrl_shift_toggle,grp_led:scroll
            initrd /live/initrd
        }
        Строка linux... должна быть указана до строки initrd....
      2. Для загрузки без использования EFI:
        DEFAULT menu.c32
        PROMPT 1
        TIMEOUT 300
        LABEL netinstall
            MENU LABEL Astra Linux 1.8 Live
            initrd live/initrd.img
            linux live/vmlinuz
        	append fetch=http://<IP-адрес>/alse/live/filesystem.squashfs boot=live username=astra-live locales=en_US.UTF-8,ru_RU.UTF8 keyboard-layout=us,ru keyboard-variants=, keyboard-options=grp:ctrl_shift_toggle,grp_led:scroll
    2. Для более ранних обновлений имя пользователя astra-live задано в самом образе и не может быть изменено:
      DEFAULT menu.c32
      PROMPT 1
      TIMEOUT 300
      LABEL netinstall
          MENU LABEL AstraLinux 1.7 Live
          KERNEL live/vmlinuz-live
          APPEND initrd=live/initrd.img-live boot=live fetch=http://<IP-адрес>/alse/live/filesystem.squashfs
    Подробное описание параметров загрузочных меню см.  в соответствующей документации.
  9. На рабочих станциях (обычно в параметрах BIOS)  включить загрузку должна выполняться по сети. Подробнее см. документацию на используемое оборудование. 
  10. Загрузить рабочую станцию.