Mkimage-profiles: различия между версиями

Материал из ALT Linux Wiki
м (+displaytitle)
(не показано 46 промежуточных версий 4 участников)
Строка 1: Строка 1:
[[File:M-p.png|274x174px|right]]
[[File:M-p.png|274x174px|right]]
{{DISPLAYTITLE:mkimage-profiles}}
__TOC__
__TOC__
= Суть =
= Суть =
{{pkg|mkimage-profiles}}, или ''m-p'' — результат осмысления и обобщения опыта создания семейств дистрибутивов.
{{pkg|mkimage-profiles}}, или ''m-p'' — система управления конфигурацией [[starterkits|семейств]] [[releases|дистрибутивов]] свободного программного обеспечения из репозиториев ALT для различных платформ.
 
Входит в [[Starterkits/builder|стартеркит builder]] в готовом к употреблению виде.
{| style="border:1px solid #AAA; background:#F9F9F9; width:100px; margin: 0 0 1em 1em; padding:.2em; text-align:left; float: right;" class=noprint
|-
|[[Image:Information.svg|32x32px|center]]
|-
| '''[[Mkimage/Profiles/m-p/examples|1.&nbsp;git&nbsp;clone<br />2.&nbsp;make<br />3.&nbsp;...<sup>*</sup>]]'''
|}
= Цель =
Создание дистрибутивных образов<ref>iso, img, tar...</ref> на нашей [[branches|пакетной]] [[sisyphus|базе]].
 
Отличие от [[Mkimage/Profiles/Desktop|предыдущего поколения]]<ref>...а также от большинства известных аналогов</ref> — возможность простого и управляемого наследования конфигурации при её создании из существующих «строительных блоков».
{{main|Mkimage/history|l1=история}}
{{main|Mkimage/history|l1=история}}
= Цели =
= Средства =
# пригодность к применению как очень крутыми хакерами, так и новичками
Языки реализации — <tt>make</tt> и <tt>shell</tt>, как и в [[mkimage]].  Для внесения изменений может потребоваться заметный опыт администрирования и базовый — разработки.
# относительно низкая трудоёмкость использования
 
# поощрение совместной работы
: ''Документация книжкой: '''[http://nightly.altlinux.org/docs/mkimage-profiles.html HTML]'''/'''[http://nightly.altlinux.org/docs/mkimage-profiles.pdf PDF]'''''


= Средства =
= Свойства =
* двухуровневость:
* двухуровневость:
** метапрофиль более объёмен и сложен, но выгоден для долгосрочной разработки
** сам метапрофиль объёмный и сложный, но выгодней для долгосрочной разработки
** сгенерированный дистрибутивный профиль более легко обозрим и модифицируем как одноразовый форк
** сгенерированный дистрибутивный профиль легче прочитать и поправить одноразово
* наследственность на уровне индивидуальных особенностей и образов в целом
* наследственность на уровне особенностей (features) и образов в целом
* прозрачность и диагностируемость формирования конфигурации
* прозрачность и диагностируемость формирования конфигурации (distcfg.mk)
* документированность
* документированность
 
{{main|Mkimage/Profiles/m-p/howto|l1=howto}}
= Примеры использования =
= '''[[Mkimage/Profiles/m-p/examples|Примеры использования]]''' =
# выполняем начальные инструкции по [http://git.altlinux.org/people/mike/packages/?p=mkimage-profiles.git;a=blob;f=QUICKSTART;hb=HEAD документации]
# '''выполняем начальные инструкции по [http://git.altlinux.org/people/mike/packages/?p=mkimage-profiles.git;a=blob;f=QUICKSTART;hb=HEAD документации]'''
# {{cmd|git clone git://git.altlinux.org/people/mike/packages/mkimage-profiles.git}}
# '''{{cmd|git clone git://git.altlinux.org/gears/m/mkimage-profiles.git}}'''
# {{cmd|cd mkimage-profiles}}
# '''{{cmd|cd mkimage-profiles}}'''
# {{cmd|make distro/icewm.iso}}
# '''{{cmd|make help}}'''
# '''{{cmd|make regular-rescue.iso}}'''
{{main|Mkimage/Profiles/m-p/examples|l1=примеры}}
{{main|Mkimage/Profiles/m-p/examples|l1=примеры}}
= Решения при дизайне =
= [[Mkimage/Profiles/m-p/design|Решения при дизайне]] =
Конфигурация образа — тоже объект ''сборки''.
Конфигурация образа — тоже объект ''сборки''.
{{main|Mkimage/Profiles/m-p/design|l1=дизайн}}
{{main|Mkimage/Profiles/m-p/design|l1=дизайн}}
= Пожелания к коллегам =
= [[Mkimage/Profiles/m-p/style|Пожелания к коллегам]] =
Давайте стараться [http://lib.ru/MEMUARY/ERSHOW_W/zapiski_ezdowogo_psa.txt сделать ''красиво''].
Давайте стараться [http://lib.ru/MEMUARY/ERSHOW_W/zapiski_ezdowogo_psa.txt делать ''красиво''].
{{main|Mkimage/Profiles/m-p/style|l1=стиль}}
{{main|Mkimage/Profiles/m-p/style|l1=стиль}}
= Объекты воздействия =
= [[Mkimage/Profiles/m-p/objects|Объекты воздействия]] =
Образ, субпрофиль, фича и список пакетов.
Образ, субпрофиль, фича и список пакетов.  Перед правкой профиля ознакомьтесь с ними.
{{main|Mkimage/Profiles/m-p/objects|l1=объекты}}
{{main|Mkimage/Profiles/m-p/objects|l1=объекты}}
= Состояние =
= [[Mkimage/Profiles/m-p/news|Состояние]] =
[http://git.altlinux.org/people/mike/packages/?p=mkimage-profiles.git Публичная бета]; см. тж. [https://www.ohloh.net/p/mkimage-profiles анализ кода на ohloh].
[http://git.altlinux.org/people/antohami/packages/?p=mkimage-profiles.git Стабильная ветка]; см. тж.:
 
* [https://www.openhub.net/p/mkimage-profiles анализ кода на openhub],
Январь 2012: реализован и упакован метапрофиль, при помощи которого можно собрать сразу несколько минималистичных дистрибутивов и шаблонов виртуальных окружений для двух архитектур. Сделаны и применяются тегированные пакаджлисты и скриптовые хуки (с выборкой по произвольным булевым выражениям). Практически не втянуты {{path|pkg.in/groups/}}.
* [http://0x1.tv/Категория:Михаил_Шигорин доклады]:
** [http://lvee.org/ru/reports/LVEE_2012_11?id=268 LVEE 2012],
** [http://lvee.org/ru/abstracts/63 LVEE 2013W],
** [http://lvee.org/ru/abstracts/87 LVEE 2013],
** [http://lvee.org/uploads/image_upload/file/364/shigorin-lvee2014-rescue.pdf LVEE 2014] (PDF про [[rescue]]),
** [https://docviewer.yandex.ru/?url=ya-serp%3A%2F%2Fftp.altlinux.org%2Fpub%2Fpeople%2Fmike%2Fdoc%2Fconference%2Fprotva-shigorin-mkimage-profiles.pdf&name=protva-shigorin-mkimage-profiles.pdf&c=561cffa935c3 Обнинск].


Работаем без спешки, как для себя; некоторые получающиеся ISO-образы доступны [http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/ здесь].  Метабаг — [https://bugzilla.altlinux.org/show_bug.cgi?id=26300 #26300].
Осень 2020: разрабатывается ветка 1.4.x; [[Mkimage/Profiles/m-p/news|регулярно]] публикуется метапрофиль ([http://git.altlinux.org/people/mike/packages/?p=mkimage-profiles.git git], [http://packages.altlinux.org/mkimage-profiles rpm]), при помощи которого можно собрать сразу несколько '''дистрибутивов''', '''шаблонов виртуальных окружений''', '''образов виртуальной машины''' для i586/[[ports/x8664|x86_64]], [[ports/aarch64|aarch64]]/[[ports/arm|armh]], [[ports/mipsel|mipsel]], [[ports/e2k|e2k]], ppc64el, [[ports/riscv64|riscv64]]. Из всего этого налажены '''[[Regular|регулярные сборки]]''' и '''[[Starterkits|стартеркиты]]''', среди прочего.


Работаем без спешки, как для себя.  Метабаг — [https://bugzilla.altlinux.org/show_bug.cgi?id=26300 #26300].
{{main|Mkimage/Profiles/m-p/news|l1=новости}}
{{main|Mkimage/Profiles/m-p/news|l1=новости}}
[[Категория:Mkimage]]
[[Категория:Mkimage]]
{{Category navigation|title=mkimage-profiles|category=mkimage-profiles|sortkey=*}}
{{Category navigation|title=mkimage-profiles|category=mkimage-profiles|sortkey=*}}

Версия от 15:11, 10 декабря 2020

M-p.png

Суть

mkimage-profiles, или m-p — система управления конфигурацией семейств дистрибутивов свободного программного обеспечения из репозиториев ALT для различных платформ.

Входит в стартеркит builder в готовом к употреблению виде.

Information.svg
1. git clone
2. make
3. ...*

Цель

Создание дистрибутивных образов[1] на нашей пакетной базе.

Отличие от предыдущего поколения[2] — возможность простого и управляемого наследования конфигурации при её создании из существующих «строительных блоков».

Основная статья: история

Средства

Языки реализации — make и shell, как и в mkimage. Для внесения изменений может потребоваться заметный опыт администрирования и базовый — разработки.

Документация книжкой: HTML/PDF

Свойства

  • двухуровневость:
    • сам метапрофиль объёмный и сложный, но выгодней для долгосрочной разработки
    • сгенерированный дистрибутивный профиль легче прочитать и поправить одноразово
  • наследственность на уровне особенностей (features) и образов в целом
  • прозрачность и диагностируемость формирования конфигурации (distcfg.mk)
  • документированность
Основная статья: howto

Примеры использования

  1. выполняем начальные инструкции по документации
  2. git clone git://git.altlinux.org/gears/m/mkimage-profiles.git
  3. cd mkimage-profiles
  4. make help
  5. make regular-rescue.iso
Основная статья: примеры

Решения при дизайне

Конфигурация образа — тоже объект сборки.

Основная статья: дизайн

Пожелания к коллегам

Давайте стараться делать красиво.

Основная статья: стиль

Объекты воздействия

Образ, субпрофиль, фича и список пакетов. Перед правкой профиля ознакомьтесь с ними.

Основная статья: объекты

Состояние

Стабильная ветка; см. тж.:

Осень 2020: разрабатывается ветка 1.4.x; регулярно публикуется метапрофиль (git, rpm), при помощи которого можно собрать сразу несколько дистрибутивов, шаблонов виртуальных окружений, образов виртуальной машины для i586/x86_64, aarch64/armh, mipsel, e2k, ppc64el, riscv64. Из всего этого налажены регулярные сборки и стартеркиты, среди прочего.

Работаем без спешки, как для себя. Метабаг — #26300.

Основная статья: новости
  1. iso, img, tar...
  2. ...а также от большинства известных аналогов