nixp.ru v3.0

23 апреля 2024,
вторник,
11:02:00 MSK

29 ноября 2014, 21:18

10-летний план FreeBSD: проекту нужна своя реализация systemd

4
Слайд из презентации Джордана Хаббарда относительно планов по модернизации init-системы
Слайд из презентации Джордана Хаббарда относительно планов по модернизации init-системы
Иллюстрация с сайта Slideshare.Net

Джордан Хаббард (Jordan Hubbard), сооснователь FreeBSD и технический директор iXsystems, на конференции MeetBSD California 2014 рассказал о планах FreeBSD на следующие 10 лет и заявил о необходимости модернизировать init-систему по подобию systemd.

Хаббард отмечает необходимость популяризировать FreeBSD и с этой целью он представил несколько ключевых идей для будущего развития этого BSD-дистрибутива. Идеи включают в себя единый интерфейс конфигурации параметров FreeBSD и всех сервисов и приложений, централизованную систему уведомлений о событиях и улучшения в системе запуска и разрешении конфликтов сервисов.

В последнем пункте речь идёт о значительной переработке или замене /etc/rc.d на систему, похожую на systemd. В качестве аргументов Хаббард приводит следующее:

  • /etc/rc.d слишком сложен для своей задачи;
  • необходимо знать слишком много о том как сервисы зависят друг от друга;
  • разрешение конфликтов и автоматизация зависят от возможностей запускать и останавливать сервисы легко и по необходимости.

«Даже „крепкие орешки“ в Linux осознали необходимость systemd (даже если они будут продолжать ненавидеть его дальше)», — указал в своей презентации Джордан Хаббард. При этом создатель systemd — Леннарт Поттеринг (Lennart Poettering) — похвалил новые идеи проекта и заявил, что некоторые из них он и сам может позаимствовать в дальнейшем.

Постоянная ссылка к новости: http://www.nixp.ru/news/12986.html. Никита Лялин по материалам phoronix.com.

fb twitter vk
Дмитрий Шурупов

Ох, последний оплот падает? :-)

arhimedoffs

Но ведь интересно заявляют: «о необходимости модернизировать init-систему по подобию systemd». Т.е. никто не говорит пользоваться systemd. А то что идея хорошая не отрицает даже большинство противников systemd.
Кстати интересно на фоне заявление Поттеринга об отказе поддержки не-linux систем в большинстве ПО вообще.

Ameise

Тут главное, как это будет организованно. Было бы здорово, чтобы это была универсальная вещь для всех *nix, стандарт. То, как пропихивают systemd, самый плохой сценарий развития. И безальтернативный, по принципу: Жри — что дают.

tinman321

Думаю, особо упоротымупёртым стоит посмотреть, говорит он достаточно убедительно.

fhunter

А текст этого выступления есть? Влом убивать кучу времени на просмотр видео.

tinman321

Есть скудная опорная презенташка, откуда выдернут слайд: http://www.slideshare.net/iXsystems/jordan-hubbard-free-bsd-the-next-10-years

Вряд ли удастся найти текст видео без самого видео.

fhunter

Грустно. Тратить 50 минут на просмотр не хочется совсем.

tinman321

Там про init с 27-ой минуты начинается.

B.X
Ох, последний оплот падает?

хех, они не популяризуют свою FreeBSD, а просто сделают так, что их же пользователи от них отвернутся. К счастью, есть ещё DragonFlyBSD, автор которой не станет ставить эту каку (подобие systemd) и то какими темпами идёт развитие DragonFlyBSD лично мне очень нравится…

Так что, выживают и побеждают упорные и смелые… а тупые просто дождуться ещё одного форка FreeBSD.

Илья Смирнов

Что же Вы уже обзываетесь, они ведь ещё ничего не сделали.

Может, они создадут нечто гениальное, и Поттеринг удавится от зависти.

Вот и будет польза сообществу :)

B.X

Они вызывают подозрение уже тем, что «хотят создать что-то подобное systemd». Если бы они сказали upstart или openrc, я бы не переживал… но если они они говорят systemd, то всё с ними понятно… ничего гениального там не будет… а будет отход от философии Unix, KISS (как арчеводы, например… постоянно хвалились, что у них всё просто, а потом сами, своими руками, встроили монстра systemd, который к простоте не имеет никакого отношения) и тд…

Польза сообществу будет тогда, когда такие идеи, которые проталкивает Поттеринг и его команда, никогда не получат одобрения и нигде не будут навязаны по умолчанию…

Илья Смирнов

По-Вашему получается, что они уже виноваты, поскольку имеют намерение.

Может, они сделают модульную систему со взаимозаменяемыми компонентами в соответствии с философией UNIX.

FreeBSD, равно как и Debian — не такие проекты, от которых можно так просто отмахиваться. Если их не будет, то что же будет?

И они всё равно будут, т.к. слишком много людей в них заинтересованы, чтобы дать им умереть.

B.X

Конечно, именно это я и имею ввиду. Они виноваты в том, что хотят сделать «что-то подобное systemd». Тут есть два варианта, как бы. Третьего не дано. Или делать что-то простое, соответствующее философии Unix. Или делать что-то сложное, которое вмешивается во все системы и без которого ничего не работает (это именно и есть идеология systemd и Поттеринга, его Pulseaudio абсолютно такая же хрень…) и если они хотят сделать что-то подобное systemd, значит они идут по второму варианту.

Не надо этим проектам приписывать какую-то исключительную роль. Если их создатели болваны, то туда им и дорога. Свято место пусто не бывает.

В мире Свободного Программного Обеспечения, которое появилось благодаря РМС, слава богу, незаменимых нет. И если кто-то думает решать всё за всех, то участь их будет незавидна, а на их место придут более гибкие и совершенные проекты.

Илья Смирнов

Конечно же, в Ваших словах есть резон.

Может быть, в дальнейшем будет два глобальных направления развития: 1) в соответствии с философией UNIX и 2) с монолитными решениями по типу systemd.

Четно говоря, пока мне кажется, что в настоящее время в качестве мейнстрима будет продвигаться философия systemd, а представители философии KISS и UNIX окажутся в андеграунде, так сказать.

Безусловно, философия UNIX в чистом виде имеет огромное количество преимуществ, благодаря которым и стало возможно такое обилие софта и дистрибутивов.

Однако, с другой стороны, мы сейчас наблюдаем, что во многом системы усложнились благодаря огромному количеству компонентов. Т.е. то, что было просто в 1970-х, стало достаточно сложно в 2010-х.

Я сейчас скажу ересь, но это моё убеждение: Linux так и не стал популярен на десктопах как раз по причине свободы и философии UNIX. Чтобы стать популярной среди пользователей, операционной системе нужно иметь хорошую поддержку большого количества разного оборудования и софта, в т.ч. коммерческого (наподобие AutoCAD и Photoshop).

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

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

В мире свободного ПО мы видим огромное количество дистрибутивов, зоопарки версий библиотек в разных дистрибутивах, наличие или отсутствие модулей ядра, разные init-системы и т.д.

И получается, что компаниям экономически невыгодно поддерживать такую ОС. Ведь в этом случае им придётся тестировать своё ПО на огромном количестве различных версий оггромного количества дистрибутивов, с разными наборами библиотек. Гораздо проще заявить о поддержке Windows или Mac OS.

Т.е., чтобы стать популярным, Linux должен статать единообразным. И это противоречит философии UNIX, KISS и свободе ПО. Т.к. свобода — на то и свобода, что можно делать с ПО что угодно, в т.ч. модифицировать под свои нужды.

Я полагаю, что systemd — это одна из попыток унификации, которая проталкивается сейчас в разных дистрибутивах для придания хоть какого-то единообразия.

Также скажу, что философия UNIX не универсальна и не везде применима. Представьте себе LibreOffice, состоящий из набора разнородных shell-скриптов и GIU над ними. Такой продукт никогда не появится, т.к. никому в голову не придёт делать офисный пакет таким образом.

Реальность такова, что однозначно правильных решений не бывает. И то, что хорошо в одной ситуации, не подходит для других.

Поэтому, повторюсь, вероятно, раскол усилится, и образуются две ниши, которые найдут своих последователей.

B.X

Дело не в том, что systemd монолитна или что-то ещё… даже не в том, что её хотят везде пропихнуть (если хотят пропихнуть лучшее, то почему бы и нет?), дело в том, что она не нужна. Эта хрень делает какие угодно задачи хорошо, только не те, которые нужно.

В ней куча ненужного, она падает и рушит всю систему. Pulseaudio, например, какой он уже версии? Он до сих пор падает и запустить его снова можно только перезагрузкой. О чём это говорит? О том, что команда, которая делает подобные программы — ни на что не способна. Поттеринг сотоварищи то ли криворуки от природы, то ли не умеют или не хотят кодить правильно и просто.

А значит рано или поздно то что они пропихивают везде и всюду — умрёт и им будут найдены аналоги. Те, кто это понимают, стараются избавиться от этой хрени пораньше, те кто нет, им всё равно придётся, просто позже…

Насчёт этого бреда, что вы написали, про то, что Linux не популярен у компаний, я даже его комментировать не хочу. Линукс очень популярен у компаний. Он уже стал популярен у разработчиков игр, а в будущем и пользователи его полюбят.

Но враги не дремлют и такие как Поттеринг делают своё мерзкое дело. Но им не удастся ничего сделать, лично я в этом уверен.

Илья Смирнов

Если дело в конкретной реализации, то, вероятно, решение, о котором говорят разработчики FreeBSD, и будет одним из таких альтернативных хороших решений. Его же будут разрабатывать другие люди, а не команде Поттеригна. Может быть, оно окажется настолько хорошим, потом его портируют на Linux, кто знает. FreeBSD славится качеством кода. Поэтому я бы не стал их так сразу дураками называть. Дурак такую систему сделать не способен.

Как вариант, кстати, можно форкнуть сам systemd и сделать из него нормальную вещь.

Что касается философии UNIX и принципа KISS: что считать одной задачей — понятие очень условное. Системы усложнились. Под одной задачей сейчас могут понимать то, что считалось набором задач несколько десятков лет назад.

Насчёт популярности Linux: я и не спорю, что он популярен у компаний. Компании давно оценили перспективы свободного ПО и делают свои коммиты. Я говорю про популярность у разрабтчиков прикладных настольных коммерческих программ, которые могли бы привлечь на платформу бльше пользователей. Согласитесь: проще поддерживать пару версий Windows, чем зоопарк дистрибутивов Linux. И даже в этом случае поднимается вой недовольства при выпуске для Windows очередного service pack, т.к. программы перестают работать, и разработчикам приходится успевать вносить в них изменения.

Что-то я уже в занудство начал впадать. Не обижайтесь, если что :)

fhunter

я могу представить офис из отдельных компонентов (кто сказал shell script-ов? Скорее следуя идеологии набора инструментов).
Только получится что-то типа latex/lyx/tex с GUI.
Электронные таблицы так представить (сходу) не могу, остальное могу.

Илья Смирнов

Ваша правда. Об этом я как-то подзабыл.

Другой варинт: представить себе СУБД из набора скриптов, хранящую данные в текстовых файлах и вызывающую утилиты grep и awk для выбороки и вставок и при этом обеспечивающую связи между сущностями и целостность данных :)

Это я о философии UNIX: что считать одной задачей — понятие очень условное. Системы усложнились. Под одной задачей сейчас могут понимать то, что считалось набором задач несколько десятков лет назад.

fhunter

Субд — смотря какого класса. Тот же sqlite (его консольный бинарник) я рассматриваю как один инструмент :) (но я не помню, можно ли сразу обеспечить в нём проверку целостности или нужно что-то делать экзотическое).

Кстати про зоопарк дистрибутивов — если это пользовательское ПО (не сервис/демон/etc), то нас волнуют только версии софта/библиотек (при использовании unix-way и внешних утилит — несколько меньше, чем при линковке с библиотеками) и система пакетирования. Ни то ни другое от systemd не зависит ну вот вообще ни разу. И унификации в этом направлении он нам не поможет.

rgo
Электронные таблицы так представить (сходу) не могу, остальное могу.


реактивное программирование. Это один из компонентов электронной таблицы. Как это связать с гуём — мне честно говоря не совсем понятно, но, думается мне, вполне возможно. Стоит только захотеть.

fhunter

Ну видимо так же, как сделано в паре wxmaxima/maxima — есть engine с текстовым интерфейсом (команды/что либо) и есть gui, который это красиво рисует.