Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание кастомизированного установщика 
V
    Опции темы
Gluttton
Дата 29.10.2011, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 1
Всего: 54



Доброго времени суток!

Для настройки програмно-аппаратного комплекса (i386) необходимо максимально упростить процесс установки ПО.

Что имеем сейчас:
1. Есть готовая железка, на которую нужно установить ПО;
2. Устанавливаем ОС (Debian 6.0);
3. Копируем (предварительно собранные на другом ПК) необхиодимые драйвера, библиотеки и бинарники;
4. Правим конфиги, в т.ч.: /etc/sudoers, /etc/fstab, /boot/grub/grub.cfg;
5. Программно-аппаратный комплекс готов к эксплуатации.

Операции 2, 3 и 4 - нуторыные, долгие, как следсвие подверженные ошибкам, а так же не всегда являются простыми для лиц, производящих установку ПО.
Т.о. целесообразно автоматизировать этот процесс.
Какие у меня по этому поводу появляются мысли.

Самый простой способ. Т.к. конфигурация "железа" строго фиксированна, то как вариант, можно "собрать" одну машину, а затем "затарить" / и /home. Для разворачивания ПО, на новом железе - грузиться с флешки, "разтаривать" разделы, править конфиги: /etc/network/interfaces, /etc/udev/rules/70-net..., /etc/hosts, /etc/hostname и возможно что-нибудь еще...
Минусы очевидны: не особо то и легче чем текущий способ.

В то же время можно приведенные способы реализовать скриптами...

Другой вариант, который мне больше интересен это создание кастомного инсталятора.
С помощью live-build, собираю следующее:
Цитата

#!/bin/bash

rm -rf live
mkdir live
cd live

lb config \
-a i386 \
-p standard \
-b usb-hdd \
--linux-flavours "686" \
--source false \
--syslinux-menu true \
--virtual-root-size 256 \
--debian-installer live \
--debian-installer-gui true \
--win32-loader false \
--memtest none \
--archive-areas "main contrib non-free" \
--packages "sudo ssh xorg blackbox libwxbase2.8-0 libwxgtk2.8-0 debian-installer-launcher"

rm -rf config/chroot_local-includes/*
cp -rf ../live-include/* config/chroot_local-includes/

lb build

mkdosfs /dev/sdb1

rm -rf /mnt/usb
mkdir /mnt/usb
mount /dev/sdb1 /mnt/usb

cp -rf binary/* /mnt/usb/
umount /mnt/usb
syslinux --stupid --force --directory syslinux /dev/sdb1


Т.е. я создаю образ системы, которая содержит те файлы, которые я ей "подсовываю".
Проблемы:
1. Т.к. я "подсовываю" /etc/fstab /etc/sudoers то я даже и загрузиться не могу.
2. Если я пытаюсь сделать live образ отдельно, а install отдельно, а потом их объедяняю вместе, и надеюсь загрузившись из-под live системы вызвать debian-installer-launcher, и что бы при этом встала та система, которую я подсовую в install, то я получаю в процессе установки обишку: failed to determine the codename for the release.

Достаточно скомкано получилось объяснить, но в общем где то так...

А теперь вопросы:
1. Справедливо ли ожидать, что после установки ОС из кастомного образа в системе будут все те файлы, которые я ей передал, т.е. так же как и при загрузке с live образа?
2. Справедливо ли ожидать, что будучи загруженным с live системы и вызвав debian-installer-launcher я загружу тот образ, который у меня находится в папке install?
3. Как преодолеть ошибку: failed to determine the codename for the release?
4. И вообще, кто что об этом всем думает smile ? Искренне надеюсь, что я изобретаю велосипед и есть уже готовое решение!


--------------------
Слава Україні!
PM MAIL   Вверх
bilbobagginz
Дата 29.10.2011, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Gluttton, рекомендую заюзать пакет под названием FAI (fully automatic installer)
изначально придуманный под дебиан, но позволяет установить практически любую ОС.

процесс такой:
настраивается сервер.  Включает в себя: dhcp, pxe, nfs.
процесс готовки рабочей машины:
  • загрузка с сети (DHCP, PXE)
  • разрезка диска на разделы
  • установка стандартных пакетов
  • запуск после-установочных хуков (т.е. скриптов - редактирования всяких файлов из скриптов, монтировка ресурсов, копирование всяких файлов с удаленных сервантов, установка/распаковка нестандартных данных и т.д. и т.п.)

позволяет оптимизировать процесс, и после некоторого танца с бубном иметь "программно-аппаратный комплекс" готовым к боевому употреблению примерно за 15 минут. В отличие от Northon Ghost диск не насилует.

самое главное в этом решении - способность разделять на шаблоны, использовать шаблон из шаблонов.
т.е. работаем по нарастающей.
сам по себе процесс работы простой: по имени шаблона создается каталог с настройками и инструкциями.
процесс подготовки шаблонов дает централизованный или распределенный доступ (если надо)



Это сообщение отредактировал(а) bilbobagginz - 29.10.2011, 23:18


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Gluttton
Дата 30.10.2011, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 1
Всего: 54



bilbobagginz, спасибо за совет!

FAI (fully automatic installer) - интересная вещь и взял ее себе на заметку, но т.к. сейсас ситуация "всю ночь кормить, утром зарезать", то я просто не успею реализовать.
Если не получиться реализовать на live-build, то забабахаю на скриптах - и точка.


--------------------
Слава Україні!
PM MAIL   Вверх
bilbobagginz
Дата 30.10.2011, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(Gluttton @  30.10.2011,  00:59 Найти цитируемый пост)
но т.к. сейсас ситуация "всю ночь кормить, утром зарезать", то я просто не успею реализовать.

как грицца - я хотел как лучше smile
я не совсем понял ситуацию.
в принципе в ситуации когда надо утром резать - наименьший требуемый функционал криво руками написать, и чтобы работало. но не забываем, что тогда "шаг влево/шаг вправо - расстрел."

Добавлено через 9 минут и 56 секунд
и я бы все равно посмотрел на механизм развертки системы, и скопировал бы его, т.к. он  работает.
Там с fstab проблем не должно быть. нужно просто точно знать: когда какой скрипт бежит, и где в это время / присобачен (т.е. к live-cd или к целевой ОС)
если первый вариант (лайв-сиди), то надо смонтировать целевые диски куда-то, где знаешь, и там редактировать файлы.
у тебя идет просто форматирование /dev/sdb1.
но легче всего использовать готовую таблицу разделов, запихивать ее, применять (man sfdisk), и потом с ней работать - форматировать и т.д.
тогда у тебя будут разделы кошерные.
Цитата(Gluttton @  29.10.2011,  21:37 Найти цитируемый пост)
1. Справедливо ли ожидать, что после установки ОС из кастомного образа в системе будут все те файлы, которые я ей передал, т.е. так же как и при загрузке с live образа?

если это рабочая утилита, и ты ее правильно используешь, то да. как грицца - другие это тоже умеют делать, значит это возможно.

другой вопрос:
может тебе не париться и делать гост, а потом запускать готовый скрипт, который бы:
1) починил бы MBR
2) подменил бы файлы
3) перегрузился в новую систему и запустил себя в тестовом режиме (проверить, что мой хостнэйм резолвится, что все каталоги смонтированны, что все нужные папки существуют, и все бинарники из списка запускаются с каким-то флажком и возвращают 0, проверка нужных юзеров, пакетов, и т.д.)
4) если все сработало, себя вырубил, и перегрузил ящик.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
mihanik
Дата 30.10.2011, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 13
Всего: 109



Или я чего-то не понимаю. или одно из двух...

Если все железяки одинаковые, то настраивается одна штука, а потом при помощи dd копируем диск...

1. Просто.
2. Это одна команда, в которой трудно ошибиться.

smile



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 31.10.2011, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(mihanik @  30.10.2011,  17:43 Найти цитируемый пост)
 Это одна команда, в которой трудно ошибиться.

единственная проблема: время. если надо клонить много тачек, время клонирования зависит от количества клонируемых компов (в отличие от более продвинутого клонирования широковещанием).
Кроме того при таком клонировании передается больше данных, чем при клонировании посредством установки пакетов.
Пакеты - сжатые, т.е. по сети проходит в несколько раз меньше данных, в результате,
за одно и то же время, клонируется больше компов.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Gluttton
Дата 31.10.2011, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 1
Всего: 54



Итак имеем следующее:

Цитата(Gluttton @  29.10.2011,  22:37 Найти цитируемый пост)
1. Справедливо ли ожидать, что после установки ОС из кастомного образа в системе будут все те файлы, которые я ей передал, т.е. так же как и при загрузке с live образа?

Нет, не справедливо.
Для того, что бы включить файлы в live-образ из необхоидимо скопировать в папку config/chroot_local-include, а для того, что бы файлы вошли в установочный образ их необходимо скопировать в папку config/binary_local-include.

Цитата(Gluttton @  29.10.2011,  22:37 Найти цитируемый пост)
2. Справедливо ли ожидать, что будучи загруженным с live системы и вызвав debian-installer-launcher я загружу тот образ, который у меня находится в папке install?

Да, но для этого необходимо заказать сборку установочного образа, а так же явно включить пакер debian-installer-launcher. Ответы на все эти вопросы указаны в руководстве.Но всё это омрачается вот этим багом.

Цитата(Gluttton @  29.10.2011,  22:37 Найти цитируемый пост)
3. Как преодолеть ошибку: failed to determine the codename for the release?

Так и не разобрался, но мне кажется я сам что-то нахимичил...

В связи со всем этим был выбран вариант: загрузка с live-usb и разворачивание системы из tar'ов.

bilbobagginz, еще раз спасибо за очень интересную ссылку.
mihanik, все правильно ты понимаешь, спасибо за совет. Кстати, а как поведет себя dd, при копировании 80Гб диска, если полезными данными занято не более 2Гб?


--------------------
Слава Україні!
PM MAIL   Вверх
bilbobagginz
Дата 31.10.2011, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(Gluttton @  31.10.2011,  21:38 Найти цитируемый пост)
mihanik, все правильно ты понимаешь, спасибо за совет. Кстати, а как поведет себя dd, при копировании 80Гб диска, если полезными данными занято не более 2Гб? 

все 80 ГБ перепишет.
вообще то есть еще и клонзилла (clonezilla), типа госта но опен сорсом.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Gluttton
Дата 1.11.2011, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 1
Всего: 54



Цитата(bilbobagginz @  31.10.2011,  23:58 Найти цитируемый пост)
все 80 ГБ перепишет.

И будет это длиться я думаю не мало. Думаю это не лучший вариант.

Цитата(bilbobagginz @  31.10.2011,  23:58 Найти цитируемый пост)
вообще то есть еще и клонзилла (clonezilla), типа госта но опен сорсом.

И ее в копилку ;) .


--------------------
Слава Україні!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1257 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.