Пошаговое руководство: Создание ISO с автоустановкой Ubuntu с помощью Cloud-init
07:18, 15.04.2026
Автоматизация процесса установки очень важна для упрощения развертывания системы, особенно в средах, требующих согласованных настроек на нескольких машинах.
Функция автоустановки Ubuntu в сочетании с Cloud-init предоставляет мощный способ предварительной настройки установок с минимальными усилиями. Независимо от того, устанавливаете ли вы серверы для центра обработки данных или настраиваете несколько рабочих станций, пользовательский ISO для автоустановки может сэкономить часы повторяющейся работы.
Это руководство поможет вам создать загрузочный ISO, соответствующий вашим конкретным потребностям, обеспечивая плавный и эффективный процесс установки каждый раз.
Обзор
Создание пользовательского ISO для автоматической установки Ubuntu упрощает и автоматизирует процесс развертывания ОС, экономит время и обеспечивает последовательность действий. Это руководство поможет вам создать ISO с автоустановкой Ubuntu, используя Cloud-init для автоматической настройки. В результате вы получите загрузочный ISO, который требует минимального ручного вмешательства во время установки.
Шаги по созданию ISO для автоустановки
Создание пользовательского ISO для автоустановки Ubuntu включает в себя несколько шагов.
Следуйте этому структурированному процессу, чтобы обеспечить гладкую установку:
Шаг 0 - Требования и подготовка YAML-файла(ов) «user-data»
Прежде чем начать, убедитесь, что у вас есть:
- Система под управлением Ubuntu или любого другого дистрибутива Linux.
- Чистый ISO-образ Ubuntu (20.04 или более поздней версии).
- Такие пакеты, как xorriso, mkisofs и cloud-init.
Создайте YAML-файл user-data, который содержит сценарий автоматизации вашей установки. В этом файле будут определены пользователи, разделы, пакеты и другие конфигурации.
Шаг 1 - Создание рабочей директории и получение чистого базового ISO-образа
Начните с создания рабочей директории:
mkdir ~/autoinstall-iso && cd ~/autoinstall-iso
Загрузите официальный ISO-образ Ubuntu:
wget https://releases.ubuntu.com/22.04/ubuntu-22.04-live-server-amd64.iso
Шаг 2 - Извлечение содержимого установочного ISO
Извлеките содержимое ISO в рабочий каталог:
7z x ubuntu-22.04-live-server-amd64.iso -oiso_extracted/
Убедитесь, что содержимое правильно извлечено, перейдя в каталог iso_extracted.
Шаг 3 - Изменение конфигурационных файлов GRUB и ISOLINUX
Отредактируйте загрузчик, чтобы включить автоматическую установку.
- Измените GRUB: откройте iso_extracted/boot/grub/grub.cfg и добавьте следующее в строку linux под пунктом меню по умолчанию:
autoinstall ds=nocloud\;s=/cdrom/
- Измените ISOLINUX: отредактируйте iso_extracted/isolinux/txt.cfg аналогичным образом, добавив:
autoinstall ds=nocloud\;s=/cdrom/
Шаг 4 - Интегрируйте пользовательский YAML-файл(ы) «user-data» в ISO
Создайте каталог nocloud внутри iso_extracted:
mkdir -p iso_extracted/nocloud/
Поместите в этот каталог файлы пользовательских данных и мета-данных. Для базового использования meta-data может быть пустым файлом:
touch iso_extracted/nocloud/meta-data
mv user-data iso_extracted/nocloud/
Шаг 5 - Пересоберите ISO для автоматической установки
Переупакуйте модифицированный ISO с помощью следующей команды:
xorriso -as mkisofs -r -V «Autoinstall Ubuntu»\\.
-o ~/autoinstall-ubuntu-22.04.iso \
-J -l -cache-inodes -b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
-boot-info-table iso_extracted/
Эта команда генерирует загрузочный ISO со всеми вашими пользовательскими конфигурациями.
Пример YAML-файла «user-data»
Вот простой пример файла пользовательских данных:
#cloud-config
autoinstall:
version: 1
identity:
hostname: ubuntu-server
username: admin
password: $6$hashed_password
ssh:
install-server: true
storage:
layout:
name: lvm
packages:
- vim
- curl
Заключение
В этом руководстве вы создали собственный ISO для автоустановки Ubuntu с помощью Cloud-init. Такой подход упрощает повторяющиеся установки и обеспечивает согласованность при развертывании. Протестируйте свой ISO на виртуальной машине, чтобы проверить его поведение перед масштабным использованием.