Дорабатываем установочный образ OpenScaler с помощью imageTailor
Как вы многие знаете, современные дистрибутивы Linux содержат в себе огромное множество установочных пакетов. Редкий дистрибутив даже в своей штатной установке не имеет на установочном образе сотен пакетов (если не тысяч). В дополнение к ядру и довольно большому набору прикладного программного обеспечения операционная система в своем установочном образе может содержать великое множество приложений которые вам как пользователю могут быть и не нужны.
К примеру, вы хотите использовать дистрибутив как платформу контейнеризации и ничего более, штатная установка дистрибутива в этом случае может провести установку дополнительных пакетов и сервисов которые вам и не нужны что потребует дополнительного времени на последующую “чистку системы” от ненужных излишеств захламляющих жесткий диск а в случае работающих в фоне ненужных сервисов и выжирающих системные ресурсы.
Есть и обратная проблема, наличие сотен если не тысяч установочных пакетов на установочном образе совершенно не гарантирует вам того что в их составе присутствует именно то что вам нужно. Вполне вероятно, что после проведения штатной установки придется еще и в ручном режиме доустанавливать требуемые пакеты с внешних репозиториев дабы обеспечить требуемый функционал ОС.
Чтобы решить эти проблемы, очевидным выходом было бы видоизменить установочный образ дистрибутива выкинув все ненужное но дополнив некоторым количеством пакетов которые по тем или иным причинам в нем отсутствуют. Ведь измененный дистрибутив поможет вашему системному администратору прямо после штатной установки получить полнофункциональную систему резко сократив число дополнительных ручных манипуляций для настройки системы. А ведь установок может быть не 5 или 10 а и сотни.
Специально для того чтобы пользователи могли самостоятельно видоизменять установочный образ в дистрибутиве OpenScaler представлен инструмент именуемый imageTailor. В числе его ключевых функций стоит отметить следующее:
- Настройка системных пакетов: настройка системных команд, библиотек и драйверов на основе списка устанавливаемых пакетов RPM.
- Изменение конфигурации системы: настраивает имя хоста, службы запуска, часовой пояс, сеть, разделы, загружаемые драйверы и версию ядра.
- Добавление пакета программного обеспечения: добавляет в систему пользовательские пакеты RPM или файлы.
Установка imageTailor
Для установки данного программного решения рекомендуем использовать дистрибутив OpenScaler версии 22.03 LTS или новее для архитектур x86_64 или AArch64. Ниже приведены полные требования для успешной установки imageTailor.
Аппаратные и программные требования
Требования к программному и аппаратному обеспечению imageTailor следующие:
- Архитектура – x86_64 или AArch64.
- Операционная система OpenScaler 22.03 LTS (версия ядра 5.10, версия Python 3.9) или новее.
- В корневом каталоге / хоста, на котором будет запущен инструмент, должно быть не менее 40 ГБ свободного места.
- Служба SELinux отключена. Сделать это можно, выполнив команды ниже:
# sudo setenforce 0
# getenforce
Permissive
Доработка установочного образа ОС
Ниже в качестве примера для использования был взят x86_64 совместимый сервер и была установлена ОС OpenScaler 22.03 LTS SP3. Для работы инструмента достаточно провести минимальную установку ОС.
- Для начала убедитесь, что у нас установлена ОС OpenScaler 22.03 LTS SP3. Для этого выполните команду:
$ cat /etc/openScaler-release
openScaler release 22.03 (LTS-SP3)
- Загрузите установочный ISO-образ (для того чтобы получить наиболее полный список доступных установочных пакетов на образе, загрузите вариант everything) соответствующей архитектуры. Сохраните его в любом каталоге (рекомендуется, чтобы доступное дисковое пространство для создания каталога и файлов превышало 20 ГБ). В этом примере ISO-образ сохраняется в каталоге /home/imageTailor_iso. Выполните следующие команды:
mkdir /home/imageTailor_iso
wget https://repo.openscaler.ru/openScaler-22.03-LTS-SP3/ISO/x86_64/openScaler-22.03-LTS-SP3-everything-x86_64-dvd.iso
Адрес загрузки образа x86_64 следующий:
Примечание: Адрес для загрузки образа AArch64 следующий:
- Создайте файл /etc/yum.repos.d/local.repo для настройки локального репозитория Yum. Ниже приведен пример файла конфигурации. baseurl — это каталог для монтирования ISO-образа.
[local]
name=local
baseurl=file:///home/imageTailor_mount
gpgcheck=0
enabled=1
- Запустите следующую команду от имени пользователя root, чтобы смонтировать образ в каталог /home/imageTailor_mount (убедитесь, что каталог монтирования совпадает с каталогом baseurl, настроенным в файле репозитория) в качестве хранилища Yum:
mkdir /home/imageTailor_mount
sudo mount -o loop /home/imageTailor_iso/openScaler-22.03-LTS-SP3-everything-x86_64-dvd.iso /home/imageTailor_mount
- Запускаем репозиторий Yum.
yum clean all
yum makecache
- Устанавливаем imageTailor от имени пользователя root командой ниже (также см. Рисунок 1):
sudo yum install -y imageTailor
![](https://openscaler.ru/wp-content/uploads/2024/07/imageTailor-01.png)
7. Запустите следующую команду от имени пользователя root, чтобы убедиться, что инструмент успешно установлен:
$ cd /opt/imageTailor/
$ sudo ./mkdliso -h
Вывод справочной информации по использованию инструмента Imagetailor представлен ниже на Рисунке 2.
![](https://openscaler.ru/wp-content/uploads/2024/07/imageTailor-02.png)
Содержимое директории установки
После установки программы imageTailor структура каталогов пакета инструментов выглядит следующим образом:
[imageTailor]
|-[custom]
|-[cfg_openEuler]
|-[usr_file] // Сохраняет файлы, которые будут добавлены
|-[usr_install] // Хранит скрипты перехвата, которые будут добавлены
|-[all]
|-[conf]
|-[hook]
|-[cmd.conf] // Настраивает команды и библиотеки по умолчанию, используемые ISO-образом
|-[rpm.conf] // Настраивает список пакетов RPM и драйверов, установленных по умолчанию для ISO-образа
|-[security_s.conf] // Настраивает политики усиления безопасности
|-[sys.conf] // Настраивает параметры системы ISO-образов
|-[kiwi] // Основные конфигурации imageTailor
|-[repos] // RPM-источники для получения RPM-пакетов, необходимых для создания ISO-образа
|-[security-tool] // Инструмент для повышения безопасности
|-mkdliso // Исполняемый скрипт для создания ISO-образа
В этом разделе описывается, как использовать инструмент настройки образа для упаковки служебных пакетов RPM, пользовательских файлов, драйверов, команд и библиотек в целевой ISO-образ.
На следующем рисунке показан процесс настройки образа ОС с помощью imageTailor:
![](https://openscaler.ru/wp-content/uploads/2024/07/imageTailor-03.png)
Алгоритм действий пользователя представляет из себя последовательность следующих шагов:
- Проверьте программное и аппаратное обеспечение: убедитесь, что хост для создания ISO-образа соответствует требованиям к программному и аппаратному обеспечению.
- Настройка установочных пакетов: Добавьте пакеты RPM (включая служебные пакеты обновления, инструменты, драйверы и библиотеки) и файлы (включая пользовательские файлы, команды, драйверы и библиотечные файлы).
- Добавление пользовательских файлов: если вы хотите выполнить некий набор действий по завершении установки системы, к примеру, проверить состав оборудования, внести изменения в конфигурационные файлы сервисов, доустановить специализированные драйвера, то вы можете включить в состав установочного дистрибутива собственные скрипты послеустановочной настройки системы.
- Настройка системных параметров:
-
- Настройка параметров хоста
- Настройка разделов жесткого диска
- Настройка сети
- Настройка начального пароля: чтобы обеспечить успешную установку и запуск ISO-образа, необходимо настроить начальные пароли пользователя root и GRUB
- Настройка параметров ядра
- Настройка политики повышения безопасности (security hardening policies).
- Генерация нового установочного ISO-образ:
Настройка локального репозитория
Чтобы приступить к работе с ISO-образом, требуется предварительно настроить локальный репозиторий в каталоге /opt/image Tailor/repos/euler_base/. Для этого необходимо выполнить следующую последовательность действий.
- Загрузить необходимый ISO-файл:
$ cd /opt
- Создать каталог монтирования /opt/OpenScaler_repo и смонтировать ISO-файл в этот каталог.
$ sudo mkdir -p /opt/OpenScaler_repo
$ sudo mount openScaler-22.03-LTS-SP3-everything-x86_64-dvd.iso /opt/OpenScaler_repo
mount: /opt/OpenScaler_repo: WARNING: source write-protected, mounted read-only.
- Скопировать пакеты RPM из ISO-файла в каталог /opt/image_Tailor/repos/euler_base/.
$ sudo rm -rf /opt/imageTailor/repos/euler_base && sudo mkdir -p /opt/imageTailor/repos/euler_base
$ sudo cp -ar /opt/OpenScaler_repo/Packages/* /opt/imageTailor/repos/euler_base
$ sudo chmod -R 644 /opt/imageTailor/repos/euler_base
$ sudo ls /opt/imageTailor/repos/euler_base | wc -l
2577
$ sudo umount /opt/OpenScaler_repo && sudo rm -rf /opt/OpenScaler_repo
$ cd /opt/imageTailor
Вы можете добавлять файлы в ISO-образ по мере необходимости, для этого сохраните файлы в каталоге /opt/imageTailor/custom/cfg_openEuler/usr_file.
Однако необходимо учитывать следующее:
- Исполняемые файлы должны обладать соответствующими правами (на исполнение).
- Файл, хранящийся в каталоге /opt/image Tailor/custom/cfg_openEuler/usr_file, будет сгенерирован в корневом каталоге ISO. Следовательно, структура каталогов файла должна представлять собой полный путь, начинающийся с корневого каталога, чтобы imageTailor мог поместить файл в правильный каталог.
Например, если вы хотите, чтобы файл 1 находился в каталоге /opt ISO-образа, создайте каталог opt в каталоге usr_file и скопируйте файл 1 в каталог opt. Например:
$ pwd
/opt/imageTailor/custom/cfg_openEuler/usr_file
$ tree
.
├── etc
│ ├── default
│ │ └── grub
│ └── profile.d
│ └── csh.precmd
└── opt
└── file1
4 directories, 3 files
Пути в файле /opt/imageTailor/custom/cfg_openEuler/usr_file должны быть реальными. Например, пути не должны содержать дополнительных ссылок. Вы можете запустить команду realpath или readlink -f для запроса реального пути.
Если вам нужно вызвать пользовательский скрипт на этапе запуска системы или установки, то есть сценарий перехвата (hook script), сохраните файл в каталоге hook.
Добавление пакетов RPM
- Файлы conf и cmd.conf хранятся в каталоге: /opt/imageTailor/custom/cfg_openEuler/
- Для работы необходим предварительно настроенный локальный репозиторий
- Проверьте, содержит ли каталог /opt/imageTailor/repos/euler_base/ пакет RPM, который необходимо добавить.
- Если да, перейдите к шагу 2.
- Если нет, перейдите к шагу 3.
- Настройте информацию о пакете RPM в разделе <bootstrap> в файле rpm.conf.
- Для настройки детализации пакета (tailoring granularity) RPM никаких дополнительных действий не требуется.
- Для других настроек перейдите к шагу 4.
- Получите пакет RPM и сохраните его в каталоге /opt/imageTailor/custom/cfg_openEuler/usr_rpm. Если пакет RPM зависит от других пакетов RPM, сохраните пакеты зависимостей в этом каталоге, поскольку добавленный пакет RPM и зависимые от него пакеты RPM должны быть упакованы в ISO-образ одновременно.
- Для детализации настройки пакета RPM перейдите к шагу 4.
- Настройте драйверы и исполняемые файлы, которые будут сохранены в пакете RPM, в файлах rpm.conf и cmd.conf. Если есть общие файлы, которые необходимо адаптировать, настройте их в разделе <strip type=”delete”></strip> в файле cmd.conf.
Примеры:
- Добавление драйверов:
<drivers>
<file name=”arch/arm64/crypto/aes-ce-blk.ko”/>
<file name=”arch/arm64/crypto/aes-ce-ccm.ko”/>
<file name=”arch/arm64/crypto/aes-ce-cipher.ko”/>
……
</drivers>
- Добавление исполняемых файлов:
<strip type=”tools”>
<file name=”aarch64-openEuler-linux-gnu-pkg-config”/>
<file name=”accessdb”/>
<file name=”acyclic”/>
……
</strip>
- Добавление библиотечных файлов:
<strip type=”tools”>
<file name=”ANSI_X3.110″/>
<file name=”ARMSCII-8″/>
<file name=”ASMO_449″/>
</strip>
- Удаление других файлов:
<strip type=”delete”>
<file name=”/usr/lib/firmware/radeon”/>
<file name=”/usr/lib/firmware/rtlwifi”/>
<file name=”/usr/lib/firmware/RTL8192E”/>
</strip>
Добавление скриптов-перехватчиков
Скрипт-перехватчик вызывается операционной системой во время запуска и установки для выполнения действий, определенных в скрипте. Каталогом для хранения скриптов hook в imageTailor является пользовательский каталог custom/cfg_openEuler/usr_install/hook, который имеет разные подкаталоги. Каждый подкаталог соответствует этапу запуска или установки операционной системы. Сохраняйте скрипты в соответствии с этапами, на которых они вызываются.
Правило присвоения имен скриптам
Название скрипта должно начинаться с S+number (число должно состоять как минимум из двух цифр). Число указывает последовательность выполнения скрипта-перехватчика. Пример: S01xxx.sh
Замечание.Скрипты в каталоге hook выполняются с помощью команды source. Поэтому будьте осторожны при использовании команды exit в скриптах, поскольку после выполнения команды exit завершается весь установочный скрипт.
Настройка системных параметров
Перед созданием ISO-образа необходимо настроить системные параметры, включая параметры хоста, начальные пароли, разделы, сеть, параметры компиляции и параметры системной командной строки.
Раздел <sysconfig> </sysconfig> в файле /opt/imageTailor/custom/cfg_openEuler/sys.conf используется для настройки общих системных параметров, таких как имя хоста и параметры загрузки ядра.
Конфигурация по умолчанию, предоставляемая OpenScaler, выглядит следующим образом. Вы можете изменить конфигурацию по мере необходимости.
<sysconfig>
sys_service_enable=’ipcc’
sys_service_disable=’cloud-config cloud-final cloud-init-local cloud-init’
sys_utc=’yes’
sys_timezone=”
sys_cut=’no’
sys_usrrpm_cut=’no’
sys_hostname=’Euler’
sys_usermodules_autoload=”
sys_gconv=’GBK’
</sysconfig>
Пароли root и GRUB должны быть настроены во время установки операционной системы. В противном случае вы не сможете войти в систему от имени пользователя root после установки операционной системы с использованием адаптированного ISO-образа.
Первоначальный пароль пользователя root хранится в файле /opt/imageTailor/custom/cfg_openEuler/rpm.conf. Вы можете изменить этот файл, чтобы установить первоначальный пароль пользователя root.
Замечание. Если параметр –minios yes/force требуется при запуске команды mkdliso для создания ISO-образа, вам необходимо ввести соответствующую информацию в файл /opt/imageTailor/kiwi/minios/cfg_minios/rpm.conf.
Исходный пароль пользователя root в файле /opt/imageTailor/custom/cfg_openEuler/rpm.conf по умолчанию настроен следующим образом. Добавьте пароль по вашему выбору.
<users group=”root”>
<user pwd=”${pwd}” home=”/root” name=”root”/>
</users>
1.Добавьте пользователя для генерации пароля, например, testUser.
$ sudo useradd testUser
2. Задайте пароль для testUser. Выполните следующую команду и задайте пароль в соответствии с запросом:
$ sudo passwd testUser
3. Просмотрите файл /etc/shadow. Содержимое, указанное после testUser (строка между двумя двоеточиями), является зашифрованным текстом пароля.
$ sudo cat /etc/shadow | grep testUser
testUser:$6$YkX5uFDGVO1VWbab$jvbwkZ2Kt0MzZXmPWy.7bJsgmkN0U2gEqhm9KqT1jwQBlwBGsF3Z59heEXyh8QKm3Qhc5C3jqg2N1ktv25xdP0:19052:0:90:7:35::
4. Скопируйте и вставьте зашифрованный текст в поле pwd в файле /opt/image Tailor/custom/cfg_openEuler/rpm.conf.
<users group=”root”>
<user pwd=”$6$YkX5uFDGVO1VWbab$jvbwkZ2Kt0MzZXmPWy.7bJsgmkN0U2gEqhm9KqT1jwQBlwBGsF3Z59heEXyh8QKm3Qhc5C3jqg2N1ktv25xdP0″ home=”/root” name=”root”/>
</users>
5. Если параметр –-minions yes/force требуется при запуске команды mkdliso для создания ISO-образа, настройте поле pwd для соответствующего пользователя в /opt/imageTailor/kiwi/minios/cfg_minios/rpm.config.
<users group=”root”>
<user pwd=”$6$YkX5uFDGVO1VWbab$jvbwkZ2Kt0MzZXmPWy.7bJsgmkN0U2gEqhm9KqT1jwQBlwBGsF3Z59heEXyh8QKm3Qhc5C3jqg2N1ktv25xdP0″ home=”/root” name=”root”/>
</users>
Настройка начального пароля GRUB
Исходный пароль GRUB хранится в файле /opt/imageTailor/custom/cfg_openEuler/usr_file/etc/default/grub.
Замечание.
- Для настройки начального пароля GRUB требуются права root.
- Пользователь по умолчанию, соответствующий паролю GRUB, является root.
- В системе должна существовать команда grub2-set-password. Если команда не существует, установите ее заранее.
- Запустите следующую команду и задайте пароль GRUB в соответствии с запросом:
$ sudo grub2-set-password -o ./
- После выполнения команды в текущем каталоге будет создан файл user.cfg. Содержимое, начинающееся с grub.pbkdfsha512, является зашифрованным паролем GRUB2.
$ sudo cat user.cfg
GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.CE285BE1DED0012F8B2FB3DEA38782A5B1040FEC1E49D5F602285FD6A972D60177C365F1
B5D4CB9D648AD4C70CF9AA2CF9F4D7F793D4CE008D9A2A696A3AF96A.0AF86AB3954777F40D324816E45DD8F66CA1DE836DC7FBED053DB02
4456EE657350A27FF1E74429546AD9B87BE8D3A13C2E686DD7C71D4D4E85294B6B06E0615
- Скопируйте предыдущий зашифрованный текст и добавьте следующую конфигурацию в файл /opt/imageTailor/custom/cfg_openEuler/usr_file/etc/default/grub на зашифрованный пароль
GRUB_PASSWORD=”grub.pbkdf2.sha512.10000.CE285BE1DED0012F8B2FB3DEA38782A5B1040FEC1E49D5F602285FD6A972D60177C365F1B5D4CB9D648AD4C70CF9AA2CF9F4D7F793D4CE008D9A2A696A3AF96A.0AF86AB3954777F40D324816E45DD8F66CA1DE836DC7FBED053DB024456EE657350A27FF1E74429546AD9B87BE8D3A13C2E686DD7C71D4D4E85294B6B06E0615″
Настройка разделов
Если вы хотите настроить системные или служебные разделы, измените раздел <HDpartitions> в файле /opt/imageTailor/custom/cfg_openEuler/sys.conf.
Формат <HDpartitions> следующий:
disk_ID mount _path partition _size partition_type file_system [Secondary formatting flag]
Конфигурация по умолчанию следующая:
<HDpartitions>
hd0 /boot 512M primary ext4 yes
hd0 /boot/efi 200M primary vfat yes
hd0 / 30G primary ext4
hd0 – – extended –
hd0 /var 1536M logical ext4
hd0 /home max logical ext4
</HDpartitions>
Настройка сети
Системные сетевые параметры хранятся в файле /opt/imageTailor/custom/cfg_openEuler/sys.conf. Вы можете изменить сетевые параметры целевого ISO-образа, такие как имя сетевой карты, IP-адрес и маска подсети, настроив <netconfig-x></netconfig-x> в этом файле.
Конфигурация сети по умолчанию в файле sys.conf. netconfig-0 указывает на сетевую карту eth0. Если вам нужно настроить дополнительную сетевую карту, например eth1, добавьте <netconfig-1></netconfig-1> в файл конфигурации и задайте параметры eth1.
<netconfig-0>
BOOTPROTO=”dhcp”
DEVICE=”eth0″
IPADDR=””
NETMASK=””
STARTMODE=”auto”
</netconfig-0>
Настройка параметров ядра
Для обеспечения стабильной и эффективной работы системы вы можете изменять параметры командной строки ядра по мере необходимости. Для образа операционной системы, созданного imageTailor, вы можете изменить конфигурацию GRUB_CMDLINE_LINUX в файле /opt/imageTailor/custom/cfg_openEuler/usr_file/etc/default/grub. Настройки параметров командной строки ядра в GRUB_CMDLINE_LINUX по умолчанию следующие:
GRUB_CMDLINE_LINUX=”net.ifnames=0 biosdevname=0 crashkernel=512M oops=panic softlockup_panic=1 reserve_kbox_mem=16M crash_kexec_post_notifiers panic=3 console=tty0″
Значения конфигураций следующие (подробнее о других распространенных параметрах командной строки ядра смотрите в соответствующих документах по ядру):
- net.ifnames=0 biosdevname=0
Имя NIC в обычном режиме.
- crashkernel=512M
Объем памяти, зарезервированный для kdump, составляет 512 МБ.
- oops=panic panic=3
При возникновении ошибки oops ядро начинает паниковать, и система перезапускается через 3 секунды.
- softlockup_panic=1
Ядро начинает паниковать при обнаружении программной блокировки.
- reserve_kbox_mem=16M
Объем памяти, зарезервированный для Kbox, составляет 16 МБ.
- console=tty0
Указывает tty0 в качестве устройства вывода первой виртуальной консоли.
- crash_kexec_post_notifiers
После сбоя системы сначала вызывается функция, зарегистрированная в цепочке аварийных уведомлений, а затем выполняется kdump.
Руководство по использованию imageTailor
После настройки операционной системы вы можете использовать скрипт mkdliso для создания файла образа операционной системы. Образ операционной системы, созданный с помощью imageTailor, является файлом ISO-образа.
Синтаксис
mkdliso -p OpenScaler -c custom/cfg_openEuler [–minios yes|no|force] [–sec] [-h]
Чтобы создать ISO-образ с помощью mkdliso, выполните следующие действия:
Замечание.
- Абсолютный путь к mkdliso не должен содержать пробелов. В противном случае создание ISO-образа завершится ошибкой.
- В среде для создания ISO-образа значение umask должно быть равно 0022.
- Запустите команду mkdliso от имени пользователя root, чтобы сгенерировать файл ISO-образа. Следующая команда используется в качестве примера:
# sudo /opt/imageTailor/mkdliso -p OpenScaler -c custom/cfg_openEuler –sec
После выполнения команды созданные файлы сохраняются в каталоге /opt/imageTailor/result/{data}, включая OpenScaler-x86_64.iso и OpenScaler-x86_64.iso.sha256.
- Проверьте целостность файла ISO-образа. Предположим, что дата и время – 2024-07-11-14-48.
$ cd /opt/imageTailor/result/2024-07-11-14-48/
$ sha256sum -c OpenScaler-x86_64.iso.sha256
Если отображается следующая информация, то создание ISO-образа завершено.
OpenScaler-x86_64.iso: OK
Если отображается следующая информация, значит, образ неполон. Файл ISO-образа поврежден, и его необходимо создать заново.
OpenScaler-x86_64.iso: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
- Просмотр журналов (logs).
После создания образа вы можете просматривать журналы по мере необходимости (например, при возникновении ошибки во время создания образа). При первом создании образа соответствующий файл журнала и файл журнала повышения безопасности сжимаются в пакет TAR (имя файла журнала указывается в формате sys_custom_log_{Date}.tar.gz) и сохраняются в каталоге result/log. В этом каталоге хранятся только 50 последних сжатых пакетов журналов. Если количество сжатых пакетов журналов превысит 50, самые ранние файлы будут перезаписаны.
Настройка часовых поясов
После установки настроенного ISO-образа вы можете настроить часовые пояса, поддерживаемые системой OpenScaler, по своему усмотрению.
Информация о часовых поясах, поддерживаемых OpenScaler, хранится в папке часовых поясов /usr/share/zoneinfo. Для просмотра информации о часовых поясах можно выполнить следующую команду:
$ ls /usr/share/zoneinfo/
Все часовые пояса указаны в формате область/местоположение. Например, если в России используется московское время, то часовым поясом будет Europe/Moscow. Соответствующий файл часовых поясов находится в:
/usr/share/zoneinfo/Europe/Moscow
Пример использования Imagetailor
- Проверьте, соответствует ли среда, используемая для создания ISO-образа, требованиям.
$ cat /etc/openScaler-release
openScaler release 22.03 (LTS-SP3)
- Убедитесь, что в корневом каталоге имеется не менее 40 ГБ свободного места.
$ df -h
Filesystem Size Used Avail Use% Mounted on
……
/dev/vdb 196G 28K 186G 1% /
- Установите инструмент настройки imageTailor.
$ sudo yum install -y imageTailor
$ ll /opt/imageTailor/ ll /opt/imageTailor/
total 104
drwxr-xr-x 6 root root 4096 Jul 10 18:55 custom
drwxr-xr-x 10 root root 4096 Jul 10 18:55 kiwi
-r-xr-x— 1 root root 86650 Nov 20 2023 mdliso
drwxr-xr-x 2 root root 4096 Jul 10 18:55 repos
drwxr-xr-x 2 root root 4096 Jul 10 18:55 security-tool
- Настройте локальный репозиторий.
$ wget https://repo.openscaler.ru/openScaler-22.03-LTS-SP3/ISO/x86_64/openScaler-22.03-LTS-SP3-everything-x86_64-dvd.iso
$ sudo mkdir -p /opt/OpenScaler_repo
$ sudo mount openScaler-22.03-LTS-SP3-everything-x86_64-dvd.iso /opt/OpenScaler_repo
mount: /opt/OpenScaler_repo: WARNING: source write-protected, mounted read-only.
$ sudo rm -rf /opt/imageTailor/repos/euler_base && sudo mkdir -p /opt/imageTailor/repos/euler_base
$ sudo cp -ar /opt/OpenScaler_repo/Packages/* /opt/imageTailor/repos/euler_base
$ sudo chmod -R 644 /opt/imageTailor/repos/euler_base
$ sudo ls /opt/imageTailor/repos/euler_base|wc -l
2577
$ sudo umount /opt/OpenScaler_repo && sudo rm -rf /opt/OpenScaler_repo
$ cd /opt/imageTailor
- Измените пароли root и GRUB.
Замените ${pwd} зашифрованным паролем
$ cd /opt/imageTailor/
$ sudo vi custom/cfg_openEuler/usr_file/etc/default/grub
GRUB_PASSWORD=”${pwd1}”
$
$ sudo vi kiwi/minios/cfg_minios/rpm.conf
<users group=”root”>
<user pwd=”${pwd2}” home=”/root” name=”root”/>
</users>
$
$ sudo vi custom/cfg_openEuler/rpm.conf
<users group=”root”>
<user pwd=”${pwd2}” home=”/root” name=”root”/>
</users>
- Выполните команду:
$ sudo rm -rf /opt/imageTailor/result
$ sudo ./mkdliso -p OpenScaler -c custom/cfg_openEuler –minios force
……
Complete release iso file at: result/2024-07-11-15-31/OpenScaler-x86_64.iso
move all mkdliso log file to result/log/sys_custom_log_20240711153231.tar.gz
$ ll result/2024-07-11-15-31/
total 889M
-rw-r–r–. 1 root root 889M Jul 11 15:32 OpenScaler-x86_64.iso
-rw-r–r–. 1 root root 87 Jul 11 15:32 OpenScaler-x86_64.iso.sha256