Международная конференция разработчиков
и пользователей свободного программного обеспечения

Макраме из дистрибутивов: mkimage-profiles

Michael Shigorin, Kiev, Ukraine

LVEE 2012

Once upon a time each distribution image was carefully crafted by hand thus becoming essentially unique. Fast forward to 21th century and we’re getting besieged by countless variations of essentially the same thing, some base distro being customized as a desktop, L{A{N,MP},TSP} server, and a myriad of physical and virtual appliances.
There’s actually no need for full blown configuration forks and we should be able to describe the subtle (or significant) differences while letting the common base to stay, well, common. That’s what mkimage-profiles was created for since day one.

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

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

mkimage-profiles на данный момент является моим очередным исследовательским проектом по части уменьшения излишнего дублирования общей части конфигурации и вспомогательного кода, необходимого для формирования образов дистрибутивов и виртуальных окружений. Он создан на основе опыта расширения и рефакторинга альтовского mkimage-profiles-desktop и семейства схожих профилей плюс создания набора installer-feature-*, а также более ранних наработок (spt-profiles-*).

Проект стартовал в августе 2010 года по мотивам очередного рефакторинга m-p-d; после первоначальных экспериментов по определению траектории тогда же осенью был опубликован черновик, а ещё через год состояние оформилось в достаточной степени для “официального” представления. Работаю над ним по большей части в две руки, хотя уже появился второй коммитящий и патчи либо кусочки кода приходят от ещё нескольких человек.

Поддерживается:

  • наследование конфигурации на всех уровнях — от перечня пакетов до образа
  • сборка гибридных ISO с LiveCD, RescueCD, инсталятором или их комбинацией
  • сборка шаблонов виртуальных окружений OpenVZ
  • архитектура i586/x86_64
  • пакетная база ALT Linux 6+ (возможно бэкпортирование для более ранних)

В планах:

  • сборка образов VM

Возможны:

  • архитектура ARM и при востребованности — PowerPC
  • более ранняя пакетная база ALT Linux, как минимум до 5+
  • иные пакетные базы (проведены эксперименты с openSUSE 11.4 и CentOS 6)

Лицензия Creative Commons
Текст тезисов доступен под лицензией Creative Commons Attribution-ShareAlike 3.0.