- Создание собственного (модифицированного) установочного диска
- Введение
- Подготовка компьютера
- Создание распакованной копии установочного диска
- Создание и пакетизация собственного ключа для подписания измененного установочного образа
- Создание собственного ключа
- Пакетизация собственного ключа
- Изменение состава пакетов в репозитории
- Замена файла конфигурации установки preseed.cfg при установке
- Замена файла конфигурации установки preseed.cfg в составе дистрибутива
- Обновление индексов
- Графический инструмент K3B
- Инструмент командной строки growisofs
- Инструмент командной строки xorrisofs
- Создание ISO-образа
- Запись образа
Создание собственного (модифицированного) установочного диска
Ответственность за применение и сопровождение модифицированных операционных систем, установленных с модифицированных установочных носителей, полностью лежит на авторах этих носителей. Замкнутость полученного дистрибутива не проверяется и возможность установки из него пакетов не гарантируется. Стандартная техническая поддержка Astra Linux не распространяется на такие системы. Действие сертификатов Astra Linux не распространяется на такие системы.
См. также:
Введение
В данной статье рассматривается создание модифицированного установочного диска. Модифицированный образ создается на основе стандартного образа установочного диска Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7. Модификация подразумевает изменение состава DEB-пакетов и preseed-сценария. Подразумевается, что служебные пакеты (udebs) не изменяются. Для изменения пакетов udeb используется отдельная процедура (см. how to build a full image with a custom kernel). Все основные действия выполняются от имени непривилегированного пользователя, привилегии суперпользователя (в Astra Linux Special Edition с включенным МКЦ — привилегий суперпользователя с высоки уровнем целостности) требуются только для установки пакетов, монтирования носителей (если используется) и операции записи созданного образа на носитель.
Подготовка компьютера
Для выполнения дальнейших действий на компьютер, на котором будут создаваться модифицированные образы, установить необходимые пакеты:
Создание распакованной копии установочного диска
Далее предполагается, что образ установочного диска загружен в домашний каталог текущего пользователя и что все действия выполняются в этом домашнем каталоге. Для распаковки загруженного образа:
- Создать подкаталог для распаковки:
В результате этого шага в подкаталоге cd домашнего каталога текущего пользователя будет создан подкаталог cd с копией содержимого образа установочного диска, и будет разрешено вносить изменения в содержимое этой копии.
Создание и пакетизация собственного ключа для подписания измененного установочного образа
Создание собственного ключа
Для подписания измененного установочного образа следует использовать ключи, выпущенные в соответствии с установленными в организации правилами. Приведенный далее пример создания ключа применим исключительно в демонстрационных целях.
- Зафиксировать имя, которое будет использоваться в ключе. Обычно в качестве такого имени применяют адрес электронной почты, который для повторного применения удобно экспортировать в переменную окружения:
Key-Type: 1 %no-protection Key-Length: 4096 Subkey-Type: 1 Subkey-Length: 4096 Name-Real: Name-Email: Expire-Date: 0
Создать такой файл можно следующей командой (в качестве имени владельца ключа используется имя support, для указания адреса электронной почты используется ранее экспортированная переменная mail):
echo «Key-Type: 1
%no-protection
Key-Length: 4096
Subkey-Type: 1
Subkey-Length: 4096
Name-Real: support
Name-Email: $mail
Expire-Date: 0″ > gen-key.cfg
опции команды:
—batch — генерация ключа без запросов подтверждений;
—gen-key — команда генерации ключа;
gen-key.cfg — конфигурационный файл с параметрами генерации ключа.
опции команды:
—armor — экспорт в формате ASCII;
—output «$mail.gpg.key» — имя файла, в котором сохраняется экспортированный ключ (в имени файла используется значение ранее созданной переменной окружения);
—export «$mail» — указание операции (экспорт) и имя экспортируемого объекта (используется значение ранее созданной переменной окружения);
Пакетизация собственного ключа
Для того, чтобы исключить проверку подписей пакетов при установке, можно в файл /boot/grub/grub.cfg добавить опцию debian-installer/allow-unauthenticated=true.
Для того, чтобы подпись репозитория, сделанная собственным ключом, могла быть проверена при установке операционной системы с модифицированного носителя собственный ключ должен быть включен в репозитории установочного диска. Это можно сделать оформив примитивный UDEB-пакет:
- Экспортировать ключ в файл:
echo «Package: $package
Version: 1.0
Section: debian-installer
Priority: important
Architecture: all
Essential: no
Installed-Size: 1024
Maintainer: $mail
#Package-Type: udeb
#XC-Package-Type: udeb
Description: Add own keyring to apt
Depends: apt» > «$package/DEBIAN/control»
Изменение состава пакетов в репозитории
После изменения состава пакетов репозитория репозиторий перестает быть подписанным ключами ООО «РусБИТех-Астра» (становится неподписанным).
mv «$package.deb» «cache/$
- Добавить во временный каталог собственные пакеты;
- Удалить во временном каталоге ненужные пакеты;
echo ‘Origin: Debian
Codename: 1.7_x86-64
Suite: stable
Version: 1.7.0
Architectures: amd64
Components: main contrib non-free
UDebComponents: main
SignWith: yes’ > ~/cd/conf/distributions
Приведенная для примера конфигурация использует дистрибутив Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7, архитектура amd64, компоненты main, contrib, nonfree. При использовании других дистрибутивов параметры конфигурации должны быть соответственно откорректированы;
reprepro —ask-passphrase -Vb cd includedeb 1.7_x86-64 cache/*.deb
reprepro —ask-passphrase -Vb cd includeudeb 1.7_x86-64 cache/*.udeb
cd ~/cd; find ! -name md5sum.txt ! -name gostsums.txt -follow -type f -print0 | xargs -0 md5sum > md5sum.txt ; cd ..
Замена файла конфигурации установки preseed.cfg при установке
На установочном диске содержится файл с ответами на вопросы установщика ОС — файл preseed.cfg. Для простой автоматизации установки можно задать альтернативный файл непосредственно при установке ОС. Эта возможность не обеспечивает полной автоматизации установки, так всегда будут запрашиваться подтверждение согласия с лицензией и выбор клавиш переключения клавиатуры, но может упростить и стандартизировать установку ОС.
Для замены файла preseed.cfg:
- При использовании установочных носителей созданных на USB-накопителях (на модифицируемых носителях) для замены файла preseed:
- Примонтировать носитель.
- Скопировать заменяющий файл (например, preseed.cfg) в корень установочного носителя;
- Внести в файл boot/grub/grub.cfg в строки с параметрами загрузки ядра (начинаются со слова linux) указание файла preseed, например:
linux /install.amd/vmlinuz quiet modprobe.blacklist=evbug astra_install=1 nomodeset debian-installer/locale=ru debian-installer/language=ru keyboard-configuration/xkb-keymap=ru console-keymaps-at/keymap=ru preseed/file=/cdrom/preseed.cfg
При форматировании все данные с накопителя будут удалены.
При форматировании использовать имя накопителя (например, sdh), а не имя дискового раздела (sdh1).linux /install.amd/vmlinuz quiet modprobe.blacklist=evbug astra_install=1 nomodeset debian-installer/locale=ru debian-installer/language=ru keyboard-configuration/xkb-keymap=ru console-keymaps-at/keymap=ru preseed/file=/media/preseed.cfg
Как упоминается ранее, при таком использовании полная автоматизация не обеспечивается, и всегда придется согласиться с лицензией и выбрать клавиши переключения языка. Порядок дальнейшей установки определяется указанным файлом preseed.
Замена файла конфигурации установки preseed.cfg в составе дистрибутива
Подразумевается, что файл с новым сценарием установки preseed.cfg сохранен в текущем каталоге. Подробнее про сценарии установки см. Установка Astra Linux по сети (UEFI или Legacy BIOS) .
Далее приведен сценарий выполняющий действия по замене файла preseed.cfg, находящегося в составе дистрибутива:
- Распаковываются загрузочные образы из копии дистрибутива. Для распаковки создается временный каталог, который далее используется в качестве рабочего;
- В распакованных образах файл preseed.cfg заменяется новым файлом;
- Образы упаковываются и помещаются в копию установочного диска.
for n in ~/cd/install.amd ~/cd/install.amd/gtk ~/cd/hd-media ~/cd/hd-media/gtk; do
if [ -d $n ] ; then
pushd `mktemp -d`
chmod u+w $n $n/initrd.gz
cat $n/initrd.gz | gzip -d | sudo cpio -i
sudo cp ~/preseed.cfg .
sudo find | cpio -o —format=newc | gzip -9c > $n/initrd.gz
sudo rm -rf *
chmod -R -w $n
popd
fi
doneСостав каталогов, содержащих загрузочные образы (и, соответственно, файл pressed.cfg), различается в разных дистрибутивах, в частности может отсутствовать каталог hd-media.
Обновление индексов
После внесения всех изменений выполнить обновление индексов репозитория:
find: Обнаружено зацикливание в файловой системе; .
Графический инструмент K3B
K3b — это полноценное графическое приложение для записи и считывания CD/DVD/Blu-Ray с простым интерфейсом.
Приложение предоставляет все возможности, которые могут понадобиться продвинутым пользователям, и понятно для новичков.
Приложение k3b входит в дистрибутивы Astra Linux и устанавливается автоматически при стандартной установке операционной системы.После установки приложение доступно в графическом меню:
Поддерживаются следующие возможности:
- копирование дисков;
- записывание различных типов образов
- считывание Audio CD, Video CD, и Video DVD.
Инструмент командной строки growisofs
Инструмент командной строки growisofs входит в дистрибутивы Astra Linux и устанавливается автоматически при стандартной установке операционной системы. Инструмент представляет собой комбинированный интерфейс, объединяющий инструмент для создания ISO-образов genisoimage и средства записи дисков.
Несколько типичных примеров использования growisofs:
- Создание и запись файлов на том стандарта ISO9660 с расширениями Joliet и Rock-Ridge на диске DVD или Blu-ray:
При добавлении данных необходимо использовать те же параметры, что и при предыдущих сеансах записи диска.
Полная справка по опциям команды growisofs доступна в системе электронных справок:
Опция Описание -Z /dev/dvd Записать первичную (инициализирующую) сессию на указанное устройство. Также имеется специальная форма этой опции для записи заранее подготовленного образа ISO. DVD+RW -M /dev/dvd Добавить новую сессию к ранее записанной. -version Распечатать версию. -dvd-compat Обеспечить максимальную совместимость с DVD-ROM/-Video. При использовании DVD+R или DVD-R с однократной записью ведёт к закрытию диска (добавление следующих записей невозможно). При работе с DVD-RW обеспечивает обязательную запись конечного оглавления (lead-out). -dry-run Выполнение всех шагов до первой операции записи, не включая эту операцию. -overburn Стандартный однослойный DVD позволяет записать 4.700.000.000 байт (в рекламных материалах 4.7GB, в самом деле 4.377 GiB или 4482 MiB). Аналогичная арифметика применяется к ёмкости дисков Blu-ray (25.000.000.000 байт). Команда не будет стартовать без этой опции, если переполнение диска выглядит неизбежным. -speed=N Контроль скорости записи. Наиболее употребительно -speed=1 для носителей неизвестного происхождения/качества если запись не удаётся на скорости «по умолчанию». Значение N задаёт скорость ближайшую к N*1385KB/сек для DVD или N*4496KB/сек для Blu-ray. Список доступных скоростей может быть проверен командой dvd+rw-mediainfo. Инструмент командной строки xorrisofs
При использовании инструмента xorrisofs процесс записи выбранных файлов состоит из двух этапов:
Создание ISO-образа
Для создания образа сначала установим пакет xorriso:
В этом примере используются следующие параметры:
-o — имя создаваемого файла образа диска (test.iso)
-J — используем формат записи Joliet для совместимости с системой Windows
-r — используем расширение формата Rock Ridge для совсестимости с *nix
-v — так называемый verbose-режим. В этом случае в процессе создания образа будет выводиться различная дополнительная информация
-V — указываем имя тома (TESTDISK); Это имя будет отображаться при просмотре в Windows.
Последний параметр команды представляет собой объекты, помещаемые в создаваемый образ. В нашем случае — это все содержимое каталога /home/usver/test_dir.
Запись образа
Когда образ подготовлен, надо его записать на болванку. Здесь поможет программа wodim. В простейшем случае ее запуск выглядит так:
-dummy— симуляция прожига с выключенным лазером. Полезно, чтобы определить, сколько времени может занять запись.
-multi— многосессионный диск.
-fix— фиксация диска (без записи).
speed=значение— задает скорость записи.
blank=режим— очистка содержимого CD-RW. Доступные режимы: all (полная очистка, долго), fast (быстро), session (очистить последнюю сессию).
-format— форматировать болванку CD/DVD-RW.
-overburn— включить возможность записи больше, чем стандартный объем диска. В этом случае, как правило, необходимо также использовать режим записи SAO (-sao).