Хорошо

Автоматическая установка Linux образов Популярное

Последний ответ июн 22, 2022 19:25:10 191 12 8 0 2


Установку любого Linux можно полностью автоматизировать путем создания файла со сценарием ответов на все вопросы инсталлятора. Интегрировав данный сценарий в инсталляционный образ получим полностью самоустанавливаемую систему. Способ автоматической установки называется Preseed. Созданный файл-сценарий ответов (preseed.cfg) пакуется его в initrd инсталляционного ISO-образа любых UNIX\Linux систем.


На выходе получаем обычный ISO-образ, готовый к автоматической установке.


preseed


Это удобно, когда нужно развернуть множество одинаковых систем.


Для создания собственного инсталляционного ISO-образа необходимо произвести ряд действий:

  1. Смонтировать образ ISO устанавливаемой системы.

  2. Достать из него initrd

  3. Распаковать initrd

  4. Скопировать в initrd созданный файл preseed.cfg и все необходимое для настройки устанавливаемой системы по завершении установки и собрать обратно ISO образ.


initrd или Initial RAM Disk - временная файловая система, используемая ядром Linux при начальной загрузке. Монтируется в оперативной памяти.


Для других методов автоматической установки нужно указать при загрузке программе установки какой файл использовать при загрузке. Это можно сделать через параметр загрузки ядра, вручную во время загрузки или изменив файл настройки системного загрузчика (например, syslinux.cfg) и добавить параметр в конец строки append для ядра.


Метод автоматизации установки Preseed был создан изначально для операционной системы Debian. А сейчас этот прием стал универсальным и можно применять на разных дистрибутивах.


Далее будет пример автоматической установки Debian.


Извлечение Initrd из образа ISO


Есть как минимум три команды, которые можно использовать для извлечения всех файлов из образа ISO:

bsdtar -C DESTINATION -xf debian-10.2.0-i386-netinst.iso
xorriso -osirrox on -indev debian-10.2.0-i386-netinst.iso -extract / DESTINATION
7z x -oDESTINATION debian-10.2.0-i386-netinst.iso

Добавление файла Preseed в Initrd

Теперь у вас есть каталог isofiles со всеми файлами ISO. Сделайте файл initrd.gz доступным для записи пользователем, распакуйте его и добавьте в файл initrd файл preseed. Снова запакуйте initrd и верните initrd.gz в режим только для чтения:

chmod +w -R isofiles/install.386/
gunzip isofiles/install.386/initrd.gz
echo preseed.cfg | cpio -H newc -o -A -F isofiles/install.386/initrd
gzip isofiles/install.386/initrd
chmod -w -R isofiles/install.386/

Пример preseed.cfg


Файл состоит из нескольких сегментов:


  1. Локализация

  2. Раскладка клавиатуры

  3. Сеть

  4. Репозиторий

  5. Временная зона

  6. Пользователи

  7. Разметка диска

  8. Apt setup

  9. Программное обеспечение

  10. Пользовательские скрипты


Каждый сегмент нужно по своему настроить, или использовать значения по умолчанию. Прикрепил стандартный файл конфигурации, т.к. слишком длинный для поста.


Небольшой кусок конфига выглядит так:


cfg


Надеюсь будет полезным данный инструмент.


-> Ссылка на все мои публикации <-


У статьи есть другие ресурсы

Требуется войти для загрузки или просмотра. Нет аккаунта? Register

x

Пост синхронизирован: HIGHLIGHTS лента

  • x

kalula
Опубликовано 2022-6-22 13:42:20
а как обратно упаковать в ISO?
Развернуть
  • x

malderx
malderx Опубликовано 2022-6-22 15:51 (0) (0)
используйте mkisofs  
kalula
kalula Ответить malderx  Опубликовано 2022-6-23 11:23 (0) (0)
спасибо. почитаю.  
s_nooze
s_nooze Ответить malderx  Опубликовано 2022-6-23 15:20 (0) (0)
Можно и так  
s_nooze
s_nooze Ответить malderx  Опубликовано 2022-6-23 15:22 (0) (0)
Сделать загрузочным через isohybrid. А так есть удобные инструменты из пакета syslinux-utils  
Rinat
Author Опубликовано 2022-6-22 16:50:33
Метод хорош, спасибо за вложение
Развернуть
  • x

s_nooze
s_nooze Опубликовано 2022-6-23 15:19 (0) (0)
Спасибо!  
Dustin
Админ Опубликовано 2022-6-22 17:52:02
Каждый раз удивляете разным способами установки ОС. Спасибо!
Развернуть
  • x

kalula
kalula Опубликовано 2022-6-23 11:24 (0) (0)
особенно ссылка в конце  
FlamInga
Author Опубликовано 2022-6-22 19:25:10
спасибо отличная работа
Развернуть
  • x

s_nooze
s_nooze Опубликовано 2022-6-23 15:19 (0) (0)
 
FlamInga
FlamInga Ответить s_nooze  Опубликовано 2022-6-27 14:54 (0) (0)
 

Комментарий

Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация
Отправить

Внимание! В целях защиты правовых интересов Вас, сообщества и третьих лиц, не публикуйте любой материал, содержащий политические высказывания, порнографию, упоминание азартных игр, употребление наркотиков, а также материал, нарушающий коммерческую тайну или содержащий персональные данные пользователей. Также не предоставляйте данные от вашей учетной записи. Вы будете нести ответственность за все действия, выполняемые под вашим аккаунтом. Подробная информация: “Пользовательское соглашение.”

My Followers

Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Вход

Заблокировать
Вы уверены, что хотите заблокировать этого пользователя?
Пользователи из вашего черного списка не могут комментировать ваши посты, не могут упоминать вас, не могут отправлять личные сообщения.
Напоминание
Пожалуйста, привяжите свой мобильный номер чтобы получить бонус за приглашение.
О защите информации
Благодарим за использование Huawei ICT Club! Мы хотим рассказать вам о том, как мы собираем, используем и храним ваши данные. Пожалуйста, внимательно ознакомьтесь с Политикой конфиденциальности и Пользовательским соглашением.