Следом за Casync (https://www.opennet.ru/opennews/art.shtml?num=46728) Леннарт Поттеринг (Lennart Poettering) представил (http://0pointer.net/blog/mkosi-a-tool-for-generating-os-imag...) ещё один свой проект - mkosi (https://github.com/systemd/mkosi) (Make Operating System Image), в рамках которого подготовлен инструментарий для генерации загрузочных образов операционных систем. Проект написан на языке Python, распространяется под лицензией LGPL 2.1 и представляет собой обвязку над такими утилитами, как dnf (режим "--installroot"), debootstrap, pacstrap и zypper.Mkosi позиционируется как legacy-free, т.е. поддерживает только актуальные в современных реалиях технологии. Например, образы могут генерироваться только с таблицами разделов GPT (MBR не поддерживает), только на основе systemd и только для загрузки на системах с EFI (системы с BIOS не поддерживаются). Для корневого раздела могут применяться ФС ext4, btrfs и squashfs. Дополнительно в образ могут включаться раздел подкачки, /srv и /home. Для данных в разделах может быть включено шифрование через LUKS и верификация целостности при помощи dm-verity. Также возможна генерация системного образа в виде каталога в текущей ФС (OS tree), tar-архива или подразделов Btrfs.
Поддерживается создание образов на базе дистрибутивов Fedora, Debian, Ubuntu, Arch Linux и openSUSE. В качестве хост-системы для сборки образов может применяться любой дистрибутив, в котором может выполняться debootstrap (Debian), dnf (Fedora ), pacstrap (Arch) или zypper (openSUSE). Созданный образ может быть запущен в виде контейнера командой "systemd-nspawn -bi image.raw". Системная начинка определяется через файл конфигурации mkosi.default, в котором можно выбрать тип дистрибутива для построения образа и список устанавливаемых пакетов. Для ускорения повторных сборок может применяться кэш пакетов RPM и DEB.
URL: http://0pointer.net/blog/mkosi-a-tool-for-generating-os-imag...
Новость: https://www.opennet.ru/opennews/art.shtml?num=46773
systemd-mkosid!
> systemd-mkosid!Оно на питоне, так что сперва будет systemd-pythond.
А вообще, пятый пункт ЧАВО на страничке оригинала уже немного намекает:
> 5. Is this a systemd project? — Yes, it's hosted under the systemd GitHub umbrellaЗЫ:
Кстати,
> and mkosi [is in] Python
> Проект написан на языке PythonЭто отлично объясняет могие "странности" кода системД *scnr*
для питона есть binfmt, надо только переписать его в виде systemd-binfmtd
> для питона есть binfmt, надо только переписать его в виде systemd-binfmtdОно (binfmt) вроде (совсем) немного не о том [ https://github.com/torvalds/linux/blob/master/Documentation/... ] и не заменяет, от слова "вообще", интерпретатор.
>> для питона есть binfmt, надо только переписать его в виде systemd-binfmtd
> Оно (binfmt) вроде (совсем) немного не о том [ https://github.com/torvalds/linux/blob/master/Documentation/...
> ] и не заменяет, от слова "вообще", интерпретатор.https://en.wikipedia.org/wiki/Binfmt_misc первый абзац, речь не об интерпретаторе
>> https://github.com/torvalds/linux/blob/master/Documentation/...
> https://en.wikipedia.org/wiki/Binfmt_misc первый абзац,Предпочитаю первоисточник.
> речь не об интерпретатореБез интерпретатора запускать питоноскрипты не получится. Ваш Кэп.
>>> https://github.com/torvalds/linux/blob/master/Documentation/...
>> https://en.wikipedia.org/wiki/Binfmt_misc первый абзац,
> Предпочитаю первоисточник.
>> речь не об интерпретаторе
> Без интерпретатора запускать питоноскрипты не получится. Ваш Кэп.А питоноскрипт, пропущенный через pypy - в ".exe", -- уже и не [питоно]скрипт, да!
Софистика...
> А питоноскрипт, пропущенный через pypy - в ".exe", -- уже и не
> [питоно]скрипт, да!Вообще-то остается все еще питоноскриптом, потому как PyPy -- это JIT. А результат какого нибудь py2elf и так, без нагромождений, заведется.
Опять Ваш Кэп.
> Софистика...Угу, угу.
Теперь и на Питоне!
Да он явно в депрессии. Отказ от приёма kdbus в ядро спустил его с небес на землю! Щас годик погрустит, попутно занимаясь проектами явно не его масштаба, а потом форкнет ядро!
systemd-linuxd быть!
Lennux
potteringux
> potteringuxВ терминальной стадии. Всем -- две соды.
potsd
PotBSD
А можно поподробнее, кто отказал, зачем, маркировки, производные?
Годнота. Отдельный респект Поттерингу за то, что про pacstrap не забыл. Если с помощью его тулзы можно будет быстро формировать нужные загрузочные образа - это будет очень круто.
> загрузочные образаДеревня.
>> загрузочные образа
> Деревня.Вендузятники, сэр. Папочки, иконочки и пр.идолопоклдонство.
Загрузочные образа - это психоделические иконы.
Поттерофаги в восторге
В то время как Docker и Rkt переходят на единую спецификацию оформления контейнеров Open Container (https://github.com/opencontainers/), для systemd-nspawn решили изобрести свой велосипед.
> В то время как Docker и Rkt
>для systemd-nspawn решили изобрести свой велосипед.И мы знаем, кто проиграет...
| | already present (part of the systemd package)
| *groan*
Get used to that argument. Its going to be used to justify getting rid of lots of things in the near future. They built the tool. Time for them to try to shoehorn it in wherever they can. --https://www.reddit.com/r/linux/comments/4msf97/sad_news_toda.../
Может dockerd увидим когда-нибудь...
> Может dockerd увидим когда-нибудь...dockerd это мелко. Даешь ddd !
кстати, кашерно будет не dockerd, а systemd-docker; или systemd-dock-spawn;
а так вобщем согласен - dockerd это мелко; наверняка там в планах systemd-kernel-spawn; и systemd-cc
Разные задачи решают. Открою вам тайну, но контейнеры это не единственный способ жить. Какие на.х контейнеры в IoT - целевом направлении, для которого предназначена эта утилита?
> Какие на.х контейнеры в IoT - целевом направлении, для которого предназначена эта утилита?Какой нафиг systemd на IoT? Для лампочки busybox -- предел мечтаний.
>> Какие на.х контейнеры в IoT - целевом направлении, для которого предназначена эта утилита?
> Какой нафиг systemd на IoT? Для лампочки busybox -- предел мечтаний.просто у вас лампочка примитивная, вот скоро будут лампочки так лампочки, на которых даже системдэ будет всего 20 секунд грузиться
И свет будет побочным продуктом от майнинга биткоинов. :)
как раз systemd это тоже самое что busybox для шела! systemd & busybox заменят всю систему
> Mkosi позиционируется как legacy-free, т.е. поддерживает только актуальные в
> современных реалиях технологии. [..] только на основе systemdСтарьё же, сколько лет уже этому системд!
Это просто такой вежливый способ сказать, что без systemd оно работать не будет.
Это не значит, что оно легаси, потому что его еще никто не заменил.
> независимый от используемого дистрибутива[...]
> Fedora, Debian, Ubuntu, Arch Linux и openSUSE.А, вот как это теперь называется.
> Mkosi позиционируется как legacy-free, т.е. поддерживает только актуальные
> в современных реалиях технологии.Мне другое интересно -- как этот настолько закомплексованный человек собирается решать за предполагаемых разработчиков приложений вопрос унификации названий зависимостей, или "сами, всё сами" (в смысле только метапакетами)?
В повестке технического задания этого пункта нет.
> А, вот как это теперь называется.Да уж. Дистронезависимость из всех щелей прёт:
Строки с 47 по 52:
class Distribution(Enum):
fedora = 1
debian = 2
ubuntu = 3
arch = 4
opensuse = 5Строки с 80 по 85:
FEDORA_KEYS_MAP = {
"23": "34EC9CBA",
"24": "81B46521",
"25": "FDB19C98",
"26": "64DAB85D",
}Даже под RHEL/CentOS оно работать не будет.
> Даже под RHEL/CentOS оно работать не будет.без апгрейда systemd - не будет. Думаю, именно по этой причине и не сделано - догонять и перегонять докера надо очень и очень быстро, и единственный шанс - таки тупо забить на маловероятное применение в системе, где инфраструктура еще не поддерживает требуемое.
А к rhel 8 - вполне допишет еще две строчки.
>> независимый от используемого дистрибутива
> [...]
>> Fedora, Debian, Ubuntu, Arch Linux и openSUSE.
> А, вот как это теперь называется.Для Альт Чуда-Йуда ничего Поттеринг не припас. Обида и пИчалька, хнык.
У Альта давно есть mkimage.
Миша, ты-то куда?> Мне другое интересно -- как этот настолько закомплексованный человек
Откуда тебе знать, что закомплексованный, да еще и "настолько"? Ну вот так, объективно? Или ты как половина здешних анонимов, льющих помои, потому ничего другого делать в жизни не умеют?
>решать за предполагаемых разработчиков приложений вопрос унификации названий зависимостей
Ты меня удивляешь! Выше уже человек отписался, что как ВДРУГ это относится к разработчикам? Это проблема мейнтейнеров, которые клепают дистры и обзывают пакеты кто во что гаразд. А разработчиков(кроме тех, кто сам собирает пакеты своего продукта под разные дистрибутивы) проблемы рукожопых мейнтейнеров не должны волновать. собственно как и поттеринга.
> Это проблема мейнтейнеров, которые клепают дистры и обзывают пакеты кто во что гаразд.
> проблемы рукожопых мейнтейнеров не должны волновать. собственно как и поттеринга.А давайте вы со своего дивана вы не будете решать, как решать технические вопросы в каждом конкретном Линукс-проекте.
> Миша, ты-то куда?Сюда, кверти.
>> Мне другое интересно -- как этот настолько закомплексованный человек
> Откуда тебе знать, что закомплексованный, да еще и "настолько"?Из произвольно толкуемого "legacy" и прочего "the one and only", очевидно.
PS: если что, я этой тематикой занимался ещё тогда, когда про Леннарта было ни слуху ни духу -- не помню, был ли тогда его аккуратно оформленный домашний сайтик, несколько проектов с которого когда-то было приятно майнтейнить. И о неудобствах подхода с метапакетами как бы немножко в курсе. Грубо говоря, в альте это был уровень более чем десятилетней давности.
точно так же я могу заявить и о тебе: Шигорин настолько закомплексованный человек...(из фраз на опеннете), это же очевидно.
PS ничего личного - просто применяю твои суждения на тебя же.
> Откуда тебе знать, что закомплексованный, да еще и "настолько"? Ну вот так, объективно?Я конечно не Миша, но и ты пишешь не ему в личку, поэтому расскажу тебе притчу.
Два философа прогуливались по мосту через реку. Один из них сказал:
- Посмотри как радостно плещется рыба в воде!
- Как ты не будучи рыбой знаешь, что нравится рыбе?
- А как ты не будучи мной знаешь, что я знаю?У этой истории интересная развязка, но чтобы её узнать, тебе придётся освоить гугль.
> Или ты как половина здешних анонимов, льющих помои, потому ничего другого делать в жизни не умеют?
Не, он из той половины здешних анонимов, что умеют гуглить про оппонента перед тем как писать глупости.
>> независимый от используемого дистрибутива
>> Fedora, Debian, Ubuntu, Arch Linux и openSUSE.
> А, вот как это теперь называется.Это, кстати, ошибка перевода. В оригинале написано как раз правильно: "distribution-agnostic".
> решать за предполагаемых разработчиков приложений вопрос унификации названий
> зависимостейникак - зависимостями занимается zypper/apt/dnf - как и должно быть.
А разработчику приложений велено не выпендриваться, и пользоваться стандартными средствами dpkg/rpmи да, скорее всего у Леннарта все получится - потому что с моей точки зрения, единственный недостаток этой затеи - systemd, а его индустрия уже схавала.
>> вопрос унификации названий зависимостей
> никак - зависимостями занимается zypper/apt/dnf - как и должно быть.Точки входа в граф.
> Точки входа в граф."mkosi.default, в котором можно выбрать тип дистрибутива для построения образа и список устанавливаемых пакетов".
Что навыбирали, то и будет (плюс "весь интернет" зависимостей, конечно же).Естественно, оно получится дистрибутиво-специфичное. Но это нужно кому-то сделать ровно один раз для каждого поддерживаемого дистрибутива.
Хорошо, ему плевать на unix-way(не, не хорошо), но что это блин в коде? Что его не устраивает в PEP-8?
> Хорошо, ему плевать на unix-way(не, не хорошо), но что это блин в
> коде? Что его не устраивает в PEP-8?просто поцтер не читал PEP-8, потому что не знает о его существовании
> просто поцтер не читал PEP-8, потому что не знает о его существованиидумаю, знает, ржет в голос над теоретиками - ну вы тут повыдумывайте еще кучу прекраснодушных правил как нам писать код - а я пока напишу нечто, что переживет ваши придумки.
где, где блин альтернатива-то, написанная классными программистами по стайл-гайдам (желательно еще unixway, конечно же, но при этом чтобы разворачивалось одной командой) ?
то ли классные программисты вообще перевелись, то ли занимаются чем-то, совсем оторванным от реальности, оставляя эту работу Поттерингу и его горе-конкурентам из докера.
>классные программисты вообще перевелисьКлассные программисты не пишут велосипеды.
ага, они вообще ничего, видимо, не пишут - размышляют о концептюальном дизайне, и о том, сколько же ангелов может уместиться на конце иглы.Ну тогда не удивляйтесь, что код для массовой автоматической раздачи/запуска образов систем (причем, что интересно - независимый от того, на физическом устройстве или в виртуалке потом будет запущен этот образ, и поддерживающий разные дистрибутивы, а не один центос) написали те кто написали, и так, как умели.
Если это для вас "велосипед", тем хуже для всех.P.S. некто Деннис и некто Кен написали в свое время "велосипед" под маргинальную бесполезную архитектуру, исключительно на поиграть в игрушку - а то что-то заманались ее каждый раз с регистровых свитчей вводить. А потом переделали в еще более велосипед, когда оказалось, что продажники хотят как-то оформить документацию (нет бы послать их со словами "нам это неинтересно, мы лучше консептьюальный дизигн думать будем - а вы идите в очередь на мэйнфрейм, там этот велосипед давно написан, или вон в машбюро обратитесь"). Хотя, наверное, это им просто хотелось развести начальство на машинку помощнее - а то на той игрушка плохо летала.
Это иллюстрация того, что идея заставить всех программистов оформлять код в каком-то одном, "единственно правильном" стиле была изначально глупой. И Style Guide придумали, и сам компилятор форматирование энфорсит, и всё равно кто-нибудь пишет так, что другим не нравится.
> Это иллюстрация того, что идея заставить всех программистов оформлять код в каком-то
> одном, "единственно правильном" стиле была изначально глупой. И Style Guide придумали,Сколь много нам открытий чудных готовит ежедневно опеннет ...
https://www.kernel.org/doc/html/v4.10/process/coding-style.html
https://www.gnu.org/prep/standards/standards.html#Formatting
https://google.github.io/styleguide/cppguide.html> и сам компилятор форматирование энфорсит,
def unique(_, __ = type({( )})): __ = type("""
.-=-. .--.
__ .' '. / " )
_ .' '. / .-. \ / .-'\
( \ / .-. \ / / \ \ / / ^
\ `-` / \ `-' / \ `-` /
jgs`-.-` '.____.' `.____.'""", (__,),{'_' :
__.__dict__[filter(lambda _: '_' not in _,
sorted(__.__dict__))[::-1].pop()]})( {( )} ); return [_ for _ in _ if _ not in __ and not __._(_)]print unique(
"hello world"
)
http://ideone.com/OBsNmS
Я только не понял, к чему вы это написали? Стандарты кодирования существуют, я в курсе. И на Питоне можно писать нечитабельный код, я тоже в курсе.
> https://www.kernel.org/doc/html/v4.10/process/coding-style.html
> https://www.gnu.org/prep/standards/standards.html#Formatting
> https://google.github.io/styleguide/cppguide.htmlэто стандарты конкретных проектов, в которых работает куча народу, разумеется, им надо приводить весь код к общему виду, чтобы не ломать глаза об индивидуальное творчество каждого.
А PEP8 - это попытка навязать стандарт _всем_, во вне проекта, почувствуйте разницу.
>
змеюка симпатичная (к жопе, правда, что-то прилипло), но вообще-то любой лямбда-код читается отвратительно, особенно если его еще и как параметр передать.
мда, на питоне он пишет так же безобразно, как и на сях :)
> мда, на питоне он пишет так же безобразно, как и на сях :)А не было ли в его творческой карьере модулей для друпала? Это бы всё объяснило.
А что было в твоей карьере? А она была? Свои свершения в студию!
Глупости пишешь, аноним. Кодом Андрея не приходится пользоваться такому количеству людей, как кодом поддеринга, поэтому всем пох.
> Глупости пишешь, аноним. Кодом Андрея не приходится пользоватьсяпоправлю: "андрею пока не удалось написать код, которым пользовался бы кто-то кроме единичных заказчиков, да и те - недолго".
> как кодом поддеринга, поэтому всем пох.
на Андрея. Ага.
В этом и проблема - Поттеринг делает то, что хочет толпа народа. А андреи - только то, что оплачивает близкодоступный заказчик. Увы и ах. Как бы хорошо они ни полировали свое глюкало - пользы от него окружающим значительно меньше.
А вот что никого лучше Поттеринга не нашлось - это, увы, действительно печально. Всего-то надо - угадать что на самом деле востребованно - и сделать. Быстро, быстрее чем другие.
> Всего-то надо - угадать что на самом деле востребованно - и сделать.
> Быстро, быстрее чем другие.Ещё задвинуть -- вспоминаем что полуось, что affix. Сделать _недостаточно_.
>MBR не поддерживаетДальше можно не читать.
>>MBR не поддерживает
> Дальше можно не читать.Все правильно. Первый i5m, 8ГБ -- дикое легаси из каменного века, че.
Сходил по ссылке.Как написали в соседнем топике, "мужик сделал для себя и решил поделиться с народом, в чем проблема?".
Леннарт просто залил в битбакет питон-скрипт на 2700+ строк, который набросал себе для домашнего использования. Тысячи людей ежедневно делают то же самое. Не понимаю, о чём крики.
О том, что нормальные люди, даже будучи известными, не пытаются профорсить как вторую по важности вещь (после ядра) свои скрипты для домашнего использования. Максимум могут на хабре или медиуме написать "глядите, как мой скрипт варит гамбургер и печатает колу".
Да, точно. А Поттеринг, гад такой, запостил не на хабре и не на медиуме, а в сделанном на коленке личном блоге. Как нескромно!
А ты что его защищаешь? Может, ты еще и за systemd? Тусуйся мимо.
У меня слегка бомбануло от твоих слов. Если человек тебе не нравится, это не повод обсирать те его действия, которые плохими не являются. И наоборот, если симпатичный тебе человек отмочил глупость, это не значит, что нужно её двумя руками поддержать.Во всяком случае, меня именно так воспитывали. Чтобы поддерживать ту сторону, которую считаешь правой, а не ту, которая нравится.
>Если человек тебе не нравится, это не повод обсирать те его действия, которые плохими не являются.Можно подумать, агрессивный клоун способен выдать что-то хорошее.
> Да, точно. А Поттеринг, гад такой, запостил не на хабре и не
> на медиуме, а в сделанном на коленке личном блоге. Как нескромно!Было бы скромнее, если бы потом его поделки не пропихивались в линукс без возможности замены/удаления.
А, то есть mkosi уже пропихивают во все линуксы? Или ты слегка ванганул? Или ты по глупости решил, что новость о systemd, а не о mkosi?
systemd и pa пропихнули. С чего ты взял, что для mkosi должны делать исключение? Остальные завихрения даже читать не стал.
> С чего ты взял, что для mkosi должны делать исключение?С чего ты взял, что для mkosi не должны делать исключение?
> Леннарт просто залил в битбакет питон-скрипт на 2700+ строк, который набросал себе
> для домашнего использования. Тысячи людей ежедневно делают то же самое. Нетысячи людей, занимающиеся массовой раздачей образов систем и их развертыванием - хорошее приближение, и это означает, что тех людей _крайне_ мало.
Нет, не домашнее это использование, ни разу.
> понимаю, о чём крики.
пипл обоснованно предполагает, что "вся пищевая промышленность немедленно перейдет на новый стандарт"
SystemDOS всё ближе и ближе.
Такие как ты из года в год с конца 90-х конец света предсказывают. И не отчаиваются же черти!
Выглядит мегаполезно! Жаль что MBR и BIOS не поддерживает конечно, но это мелочи, с другой стороны
Пока все меняют обои на нескучные , Лёня занят делом. Спасибо ему за это.
Скоро получите и от Лёни systemd-wallpapperd
> Скоро получите и от Лёни systemd-wallpapperdLinuxd будет концом свободы и начала меритократии.
> Скоро получите и от Лёни systemd-wallpapperdкстати, да, намекните ему кто-нибудь, что а вот в винде обои на login screen (как раз для systemd область) каждый раз новые нескучные, особенно, когда коннективити через мобило по паре сотен рублей за мегабайт, ибо роуминг, и никакого lte на сотни километров вокруг - вообще обхохочешься.
Нам непременно надо такое же!
(и да, там можно ставить лайки!)
> mkosi (Make Operating System Image)Надо было назвать mkosiga (Make Operating System Image Great Again).
>независимый от используемого дистрибутива
>только на основе systemdКто ещё заметил противоречие?
> Кто ещё заметил противоречие?
> Legacy-Free
>Поддерживается создание образов на базе дистрибутивов Fedora, Debian, Ubuntu, Arch Linux и openSUSE.независимый для них, остальными можно пренебречь в связи с их малозначимостью
А чем примечателен этот персонаж - Поттеринг? Что он такого сделал, чем прославился, что уже стал мемом?
> А чем примечателен этот персонаж - Поттеринг? Что он такого сделал, чем
> прославился, что уже стал мемом?Да в принципе ни чем. Таких как он фриков много. Но не каждого фрика делают лицом фирмы.
Вот блин трудяга, все переписывает на свой манер, я не Поттерафоб или Поттерафил, но я восхищаюсь как несмотря на весь негатив и критику, он продолжает строчить код преображая мир линуха на свой вкус
> Вот блин трудяга, все переписывает на свой манер, я не Поттерафоб или
> Поттерафил, но я восхищаюсь как несмотря на весь негатив и критику,
> он продолжает строчить код преображая мир линуха на свой вкус"Чтоб ты жил во времена поттеринга." - старое китайское проклятие.
Известная пословица, умная, а Поттер и перемены это одно и тоже.
Желчные Вы все и вести спор не уметее. Ну какое Вам всем дело до этого Поттера или как его там? Сделал какой-то systemd по мне так улучшение на лицо - старт сервисов теперь и описание демона занимает три строки, что удобнее Bash колхоза (вот бы Поттер еще и Autotools переделал). Создатель файловых систем тоже полезная штука. Питон тоже отличный инструмент. Мужик молодец хотя я все это и не использую.
> хотя я все это и не использую.так вот в чём дело..
Мило. Обвес над сторонними утилитами на bash поменял на python.
Кажется уже пора орать про python-портянки (или я, как обычно, торможу за прогрессом)?
Красношляп все давит и давит, и конца этому не видно.
Поттеринг меняет мир под себя. А анонимы вроде тебя способны только на вопли и причитания.
Сказал свидетель секты RFRemix.
> Сказал свидетель секты RFRemix.Сказал адепт секты свидетелей "свидетелей секты RFRemix".
Привет Пете, а вообще завязывайте перебранку.
> Привет Пете, а вообще завязывайте перебранку.Кстати, чтой-то я давно не видел Пашу из Сергиев Посада. Ник был pashass, вроде?
С языка суахили mkosi переводится как omen.