Mkimage/Live: различия между версиями
Нет описания правки |
м (→Решение: кое-что уже на месте) |
||
Строка 18: | Строка 18: | ||
Для решения поставленной задачи предлагается разработать специализированный, ''расширяемый'' live-образ, снабжённый: | Для решения поставленной задачи предлагается разработать специализированный, ''расширяемый'' live-образ, снабжённый: | ||
* сборочным инструментарием (<code>mkimage</code>, <code>hasher</code>); | * [[starterkits/builder|сборочным инструментарием]] (<code>mkimage</code>, <code>hasher</code>); | ||
* [[Alterator|«центром управления системой»]] для выполнения донастройки базовой системы; | * [[Alterator|«центром управления системой»]] для выполнения донастройки базовой системы; | ||
* средствами автоматического анализа и учёта произведённых модификаций. | * средствами автоматического анализа и учёта произведённых модификаций. |
Текущая версия от 14:26, 12 декабря 2015
Проблема
Изготовление специализированных дистрибутивов посредством mkimage
является слишком сложным процессом: для написания сценариев, модифицирующих chroot, пользователь должен иметь как навыки программирования, так и знания о том, как устроена система на уровне конфигурационных файлов. В тоже самое время, задача выпуска специализированных дистрибутивов и, в особенности, live-образов, часто встаёт перед пользователями, не обладающими в достаточной степени обеими из указанных квалификаций.
Примеры подобных случаев:
- желательно иметь live-образ, открывающий удалённый доступ к компьютеру (по определённому ключу и/или паролю);
- учителю необходимо снабдить ученика дистрибутивом, специально настроенным для выполнения определённого задания;
- для выступления или доклада желательно подготовить live-образ, включающий в себя определённый набор программ, поскольку их доступность и/или совместимость на демонстрационной платформе не гарантируется;
- необходимо иметь возможность быстро развернуть локальную сеть с определённым набором характеристик посредством сетевой загрузки live-образов.
Задача
Создать инструмент или комплексное решение для изготовления дистрибутивов, позволяющее вносить изменения в целевую систему в интерактивном режиме с использованием тех инструментальных средств, которые предпочитает пользователь (например таких, как Alterator).
Решение
Для решения поставленной задачи предлагается разработать специализированный, расширяемый live-образ, снабжённый:
- сборочным инструментарием (
mkimage
,hasher
); - «центром управления системой» для выполнения донастройки базовой системы;
- средствами автоматического анализа и учёта произведённых модификаций.
Изготовление нового образа на базе данного расширяемого образа состоит из следующих этапов:
- загрузка базового live-образа;
- установка дополнительного программного обеспечения (посредством менеджера пакетов);
- настройка системы (можно использовать специализированные административные инструменты и/или Alterator);
- настройка сеанса и рабочего окружения пользователя (главное меню, рабочий стол, документы, автозапуск программ);
- запуск специализированного модуля центра управления системой для записи нового live-образа, включающего все произведённые изменения или их часть (например, из целевого образа может быть изъят сборочный инструментарий, что исключает возможность изготовления новых образов на основе целевого).
Исключение нежелательных последствий загрузки и работы
К целевому образу необходимо применить лишь те из выполненных пользователем модификаций, которые не помешают его нормальной загрузке и работе. Например, необходимо исключить привязку сетевых интерфейсов к MAC-адресам. Хотя в ряде случаев сохранение определённого имени узла имеет смысл, в большинстве случаев короткое имя узла не должно быть задано наперёд.
Модификация шаблона директории пользователя
Возможность запуска в целевой системе пользовательских сеансов, обладающих рядом общих особенностей (главное меню, рабочий стол, документы, автозапуск программ) является критически важной функцией, которую должна предоставлять новая система изготовления образов. Для этого, модификации параметров сеанса, выполненные во время работы с базовой системой, должны быть применены к шаблонной директории пользователя /etc/skel
. Однако некоторая часть настроек, связанных с именем пользователя, должна быть исключена.