LINUX.ORG.RU

Разработчик из команды Gentoo выступил с критикой systemd

 ,


10

4

Большую бурю споров вызвала сегодняшняя запись в блоге одного из участников команды Gentoo Linux Патрика Лойера. В ней он с критикой прошёлся по systemd, её концепции и разработчиках.

Ниже привожу свой перевод его публикации.

Пропагандистам Systemd: это отстой!

Сегодня я получил ссылку на пост Леннарта Поттеринга по итогам обсуждений в листах рассылки Debian ... хм... даже толком не знаю о чем.

Поэтому мне хочется разобрать все по полочкам.

Разработчики ядра хотят, чтобы в юзерспейсе существовала система разрешения конфликтов для CGroups. В системах с systemd этим как раз systemd и является, и вам не удастся лишить ее этой функциональности.

Без понятия, что это значит, наверное они хотели сказать «нам лень».

Я уверен, что ребята из Ubuntu даже близко не понимают сложности этой проблемы.

Забавное косвенное оскорбление, но CGroups *не* сложные. Я убежден, что понимаю их общую концепцию, сегодня днем я уже успел написать начальную поддержку OpenRC.

Разумеется, Control groups лежат в основе того, что требуется от современных серверов.

... что? Нет. Сервер должен служить (и защищать? постойте, не тот девиз). CGroups - просто еще одна технология, которую будут игнорировать сисадмины. В ней нет никакой магии, она не сложнее работы с ulimit.

API, предлагаемый systemd, очень systemd-специфичный.

Не уверен, что смысл тавтологии верен. Недостатка проектирования недостаточно. Может быть, это правильно.

Ясно, что сейчас большая часть экосистемы Linux уже использует API systemd...

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

В принципе демон D-Bus уже реализован внутри самой systemd (и в ядре), и логика работы не уже может обходиться без него. Фактически при переходе на systemd логика работы распределится на несколько демонов, которые для активации должны быть описаны в юнит-файлах .busname и .service, а не в старых конфигурационных файлах.

Так, давайте с этого и начнем. Идея состоит в том, чтобы прибить все гвоздями к systemd так, чтобы появление альтернативных систем оказалось бы просто невозможным из-за отсутствия документации, непортируемых API, то есть неверных абстракций, которые вообще не имеют смысла без той штуки, которую у них не получается абстрагировать? И зачем, черт возьми, мне надо патчить описание каждого демона? Все работало уже десятки лет безо всяких хаков.

Теперь один из самых сложных компонентов - перегруппировка сервисов, преобразование старых dbus1 сообщений в kdbus GVariant, преобразование их обратно в сокет-сервис systemd, и это из sysetmd не вырвать даже с корнями.

Нет, с такого суждения начинать нельзя. Кто-то задастся вопросом: а почему форматы сообщений kdbus и dbus отличаются, когда одна система есть замена другой? И только то, что это часть sysetmd и она никак не документирована, еще не означает, что ее нельзя аккуратно вырезать и заставить работать отдельно или написать с нуля как самостоятельный инструмент. Игнорирование (или непрофессионализм?) в приведении этого утверждения заставило меня вспомнить пользователей windows, которые ругают Linux потому, что в нем нет красивых GUI...

Разумеется, logind - один из тех компонентов systemd, в документации которого мы явно указали, что его никак нельзя убрать.

Если вы так написали, еще не значит, что так оно и есть. Но это отличная попытка пресечь дискуссию заявив, что альтернатив нет, нам так нравится и вообще заткнитесь, как говорят политики. logind это не программа, поэтому у нее нет описания архитектуры или корректной документации, что она делает. Это просто API, зашитый в systemd так сильно, что понять его - большая головная боль. Единственное, что сдерживает меня от написания подобного инструмента с такой же функциональностью, это то, что понятия не имею, что он должен *делать*... Для меня нет никакого удовольствия читать код всей systemd, чтобы это выяснить. Но, исходя из того, что я знаю сейчас, в реализации ее нет ничего особенного.

Спустя несколько месяцев после того, как это сделали в Canonical, все снова cломалось, как мы и ожидали: сейчас logind использует новые API для работы с CGroups.

«Когда ломаешь вещи, они ломаются»... Единственная причина того, что ничего не работает это... отсутствие документации и ломающие изменения. И такие нелогичные высказывания сами тому подтверждение.

...связывающий слой в юзерспейсе Linux в настоящее время разрабатывается как большая часть systemd.

«Мы теперь даже не прикидываемся, что понимаем философию Unix.» Репозиторий systemd - скорее помойка, чем что-то еще, его нужно разделить (на подмодули), чтобы независимые компоненты были независимыми. НЕТ никакого смысле держать в одном репозитории udev, hwdb или еще десяток несвязанных друг с другом вещей.

Для меня это также означает отсутствие планов на будущее и управления проектом, ведь все просто рандомно свалено в кучу без логического обоснования.

Учтите, что logind, kdbus или CGroups - это новая технология, мы ничего не поломали, просто написав их. Следовательно нет никакой регрессии, мы просто добавили новые компоненты, которые, по нашему мнению, будут крайне интересны пользователям.

CGroups - «старая» штука, новое - это просто заставлять всех использовать их по-другому. Это противоречит документам по разработке systemd, которые теперь считаются неверными после того, как были Единственной Верой для нас в течение нескольких лет. Сложно понять, что сегодня в меню, когда оно меняется так часто...

И может быть, если кто-то нормально напишет, что должен делать LoginD (а не просто даст дамп API, который никому ни о чем не говорит, чукча не читатель!), мы смогли бы выполнить правильную реализацию где угодно и не заставлять людей ломать свои системы, чтобы наконец logind делал то, что должен делать. Свинпаук, свинпаук делает то, что он делает [прим. ссылка на «Симпсоны в кино»]

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

... простой? По-моему это слово означает не то, что вы думаете! (Не для 200 тысяч строк кода для того, что можно быть написать и в 35 тысячах.)

Я просто надеюсь, что вы делаете это, зная, что это всерьез и надолго.

Итак, подведу итог. Никто не сможет реализовать то, что делает systemd, и поэтому вы вынуждены ее использовать. Это так прекрасно, что не стоит даже пытаться искать что-то еще!

Простое чтение этой пропаганды очень меня расстроило своим уровнем лжи и запутывания, не понимаю, как у нас может получиться нормальная дискуссия с ними. Все доводы либо логически противоречивы («Никто не может написать logind без использования logind») или ошибочны («Cgroups лежат в основе того, что требуется от современных серверов»).

В то же время все, кто с ними не согласен - старообрядцы... или неграмотные... или кто угодно. В любом случае, ВЫ КОЗЛЫ и я победил в споре! или что-то такое.

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

>>> Подробности

★★★★★

Проверено: JB ()
Последнее исправление: Dendy (всего исправлений: 3)

Ответ на: комментарий от aeX1pu2b

Эти ниши в вашей голове

Мальчик, тебе уже говорили, что ты глуповат и хамоват?

в продакшен решениях ставлю и дебиан и редхат в зависимости от решаемой задачи бизнеса и времени необходимого на решение данной задачи

...но в твоей голове только одна ниша. И заполняет она всю твою голову.

tailgunner ★★★★★
()
Ответ на: комментарий от vasily_pupkin

Апстрим системде сейчас активно пилят арчеводы, например.

Это логично - после переползания на systemd другие системы инициализации в арче более не рабочие и тут хоть плачь, но нужно пилить systemd.

alex-w ★★★★★
()
Ответ на: комментарий от tailgunner

NASDAQ использует Gentoo, например: http://www.opennet.ru/opennews/art.shtml?num=31500 - это так, для расширения ниши в голове).

Я легко представляю ситуацию, когда выбор Debian или RHEL отсутствует, но я также представляю ситуации, когда выбор уместен - а значит конкуренция есть.

И я также представляю ситуации, когда выбирают между RHEL vs SuSE, RHEL vs CentOS, RHEL vs Oracle(чтоб ему), RHEL vs Oldscul UNIX и даже RHEL vs Windows(чтоб ему ещё раз) - и любая из этих ситуаций мне кажется более представимой, нежели выбор «RHEL» vs «Ubunta с поддержкой от Canonicl».

Anonymous ★★★★★
()
Ответ на: комментарий от Anonymous

Чем-то мне это напоминает позицию т.н. ватников, которые тоже уверены, что всё, что делают 8 миллиардов человек за рубежом, будь то новые торговые соглашения, постройка коллайдера или выпуск аниме с понями - они делают исключительно чтоб навредить России - потому, что «ну а зачем же ещё?».

Ну, я не спорю, может я ubuntuватник ,правда не помню чтобы Debian предлагал коммерческую поддержку серверов, просто не припоминаю, если было то ок. Ещё момент когда RHEL использовало upstart видимо очень досаждал их гордости. И весь этот скандал с GNOME наркоманией из-зз которого теперь у нас есть GNOME3 Unity KDE ... ну не на пустом месте.

DR_SL ★★★★★
()
Ответ на: комментарий от vurdalak

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

Hardware mixing оно поддержівает? (Без ресэмплінга всего в 48kHz)

dzidzitop ★★
()
Ответ на: комментарий от Anonymous

NASDAQ использует Gentoo, например

И?

это так, для расширения ниши в голове).

Что заставляет тебя думать, будто я не читал этого?

и любая из этих ситуаций мне кажется более представимой, нежели выбор «RHEL» vs «Ubunta с поддержкой от Canonicl».

Ну а теперь посмотри на реальное распределение используемых систем. Например: http://w3techs.com/technologies/details/os-linux/all/all

Я понимаю, что Web-серверы - рынок специфический, но на этом рынке «любых ситуаций» просто не видно.

P.S. ты слова специально коверкаешь - Ubunta, Oldscul?

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от DR_SL

правда не помню чтобы Debian предлагал коммерческую поддержку серверов, просто не припоминаю, если было то ок.

Уж не думаете ли вы, батенька, что до Canonical коммерческую поддержку кроме как у Red Hat купить было не у кого?
Было. Куча крупных фирм включая Novel и производителей Большого Железа, тысячи средних системных интеграторов и десятки тысяч мелких. Собственно, Canonical на общем фоне(пока?)(по моему), ничем ещё не выделилась. Ну, кроме известности.

Anonymous ★★★★★
()
Ответ на: комментарий от vurdalak

Кажется там всегда есть опорная частота, к которой всё альса преобразует. То есть еслі я запускаю трэк 44.1kHz а потом 96kHz - то какой-то обязательно будет ресэмплен. В моём случае ALSA переключает режім работы аўдіо-інтэрфейса.

dzidzitop ★★
()
Ответ на: комментарий от Ager

И в _процессе_ работы gparted - ТАДДДАМ - умный (грёбаный) системд _МОНТИРУЕТ_ОБА ПАРТИШЕНА_ !!!!!

Неудивительно. Автором было использовано дизайнерское решение «тупой, но услужливый робот».

ak380618
()
Ответ на: комментарий от LongLiveUbuntu

Не спорь с дураком. Просто покажи всем, что он дурак.

во во правильно, поучи его...

aeX1pu2b
()
Ответ на: комментарий от Anonymous

Если с убунтой и канониклом действительно всё так плохо, то откуда у них нарисовался 3-х кратный перевес над RHEL в сегменте хостинговых услуг?

alex-w ★★★★★
()
Последнее исправление: alex-w (всего исправлений: 2)
Ответ на: комментарий от Ager

Как минимум 90% кричащих, что системд это «модно, молодёжно и инновационно» - люди, использующие системд на локалхосте, ну или даже в «продакшене» - их нужные и важные сайтики крутятся под линуксом с системд.

Вот это и есть подлинные фанбои - им наплевать, что у них «под капотом» - едет и зашибись :)

Совершенно согласен. Так оно и есть.

Примерно 9% - это люди, которым этот системд нужно подстраивать под существующую и зачастую, совсем не тривиальную схему - им насрать на инновационность, зато зачастую они громко скрежещут зубами, расставляя новые костыли. Прикол в том, что костыли были и раньше - программу, которая делает «всё зашибись одной кнопкой» ещё никто не написал. Но те-то костыли проверены и работают. А вот новые костыли - хз :(

программу, которая делает «всё зашибись одной кнопкой» ещё никто не написал

«Костыли» - это glue scripts. Это единственное корректное решение и одна из философских основ UNIX'а. Все безрезультатные потуги от Apple, Microsoft, etc. создать кнопку «Сделать все зашибись» выливаются только в fail и усиленные рекомендации пользователям жить, как все, по линейке.

ak380618
()
Ответ на: комментарий от init_6

Вы скорее всего не в курсе что: 1. ядро линукса - это не микроядро (поэтому модуль ядра не «независимая» штука). 2. очень хорошо документирован и прост процесс подключения отключения модулей (поэтому запросто можно скомпилить ядро только с нужными модулями).

В системд Вы можете скомпилить только систему инициализации, без логинд, без журналд?

anonymous
()
Ответ на: комментарий от Ager

Но я абсолютно не понимаю, зачем и кому нужно «новое» ради «нового».

У кого нет реальных задач. Для кого ОС - не удобный инструмент, чтобы творить, а диковинный предмет для разглядывания в течение всего дня.

К.О. :)

ak380618
()
Ответ на: комментарий от anonymous

зачем вы всех остальных призываете не использовать достижения 2013го года?

А у 2013-го есть достижения? :D

ak380618
()
Ответ на: комментарий от vasily_pupkin

А если системде станет более-менее повсеместным, то у меня, как разработчика проприетарного говнософта, будет поменьше геммороя.

будет поменьше геммороя

Наврядли.

ak380618
()
Ответ на: комментарий от tailgunner

Мальчик, тебе уже говорили, что ты глуповат и хамоват?

...но в твоей голове только одна ниша. И заполняет она всю твою голову.

Ум и вежливость. Unlimited.

ak380618
()
Ответ на: комментарий от tailgunner

Я понимаю, что Web-серверы - рынок специфический, но на этом рынке «любых ситуаций» просто не видно.

дык, этот «рынок специфический» - и есть одна из ситуаций, как раз та, в которой покупка сторонней поддержки - оправдана сравнительно редко, (хотя сколько из этих Убунт и Центосов крутятся в виртуалках на RHEL - отдельный вопрос).

Впрочем, и на этом примере видно, что из ~90% хостеров, которые выбрали не RHEL - подавляющее большинство выбрало не RHEL вовсе не потому, что они выбрали Убунту с коммерческой поддержкой Canonical. http://w3techs.com/technologies/overview/operating_system/all

P.S. ты слова специально коверкаешь - Ubunta, Oldscul?

Ubunta - падеж(теперь лучше?), Oldscul - нечаянно.

Anonymous ★★★★★
()
Ответ на: комментарий от DR_SL

Ну видимо RHEL как и Zenitar купились на агресивный маркетинг))

принимать объективные взвешенные решения, обусловленные лишь технической (на худой конец - экономической) целесообразностью - после всего, что наговорено - действительно очень трудно, хорошо бы отложить - но не получится, наверно.
Вся надежда на Палец Линуса и Бороду Столмана.

Anonymous ★★★★★
()
Ответ на: комментарий от Anonymous

Вся надежда на Палец Линуса и Бороду Столмана.

+100 :D

ak380618
()

я рад, что именно мой любимый дистр открыто выступил против этой ереси

WerNA ★★★★★
()

я думаю что срач по теме можно уже засчитать годным, на выходных буду читать и смеяться, всем спасибо.

BillDver ★★★
()

Вообще пофиг, как использовал в генте systemd, так и буду.

Deleted
()
Ответ на: комментарий от tailgunner

Довольно много применений, где они пересекаются. Это я как бывший плескописатель говорю. При этом, разумеется, есть ситуации, где только RHEL (а есть - где только SLES).

ЗЫ а насчёт хамоватости и уровня дискуссии - думается, что фамильярность одинаково неуместна с обеих сторон.

AlexM ★★★★★
()

Чувак просто тупой толстый тролль. Надеюсь вы там на 18й странице именно это сейчас обсуждаете?...

ei-grad ★★★★★
()
Ответ на: комментарий от kott

играет пульс у юзера, запускаем из-под рута, например mplayer -ao pulse - всё:

AO: [pulse] Init failed: Connection refused

следующая песня уже не будет играть :)

Это случай так называемого вранья :)

anonymous
()
Ответ на: комментарий от funeralismatic

лично мне не нравится сие поделие только потому, что я ниасилил его, а ниасилил почему? да потому, что оно мне не нужно. я привык к rc, я понимаю его логику, и меня там всё устраивает, а в systemd даже именование соединений меня не устраивает, после я даже тестить не стал.

Я привык кататься на пони, меня все устраивает, сложно упасть, ноги до земли достают, я понимаю логику полетов на вертолете, но мне не нравится штурвал, меня отрывают от земли, надо смотреть не только вперед, но и вниз, вверх, по сторонам, а мне лень, меня лишают выбора пришпорить моего пони, я умею вольтижировать, а на вертолете этого не проделаешь, какому придурку вообще пришло в голову летать, а производители вертолетов мечтают поработить всех пониездунов :-)

anonymous
()
Ответ на: комментарий от anonymous

меня все устраивает ... а производители вертолетов мечтают поработить всех

Изгоняя роскошь и желая приучить подданных своих к умеренности, император Павел назначил число кушаньев по сословиям, а у служащих — по чинам. Майору определено было иметь за столом три кушанья.
Яков Петрович Кульнев, впоследствии генерал и славный партизан, друг и начальник Дениса Давыдова, служил тогда майором в Сумском гусарском полку и не имел почти никакого состояния. Павел, увидя его где-то, спросил:
«Господин майор, сколько у вас за обедом подают кушаньев?»
«Три, Ваше императорское величество».
«А позвольте узнать, господин майор, какие?»
«Курица плашмя, курица ребром и курица боком», — отвечал Кульнев.

Это я к чему? Вертолёты ты чтоли оплачивать будешь? Или ты как правительство, вот вам приказ, а как его исполнять вы сами думайте?

anonymous
()
Ответ на: комментарий от Ager

А ведь есть несчастные люди, которым от этого _на работе_ никуда не деться :( Не прячьте голову в песок - в этом же треде «головная боль» человека, у которого в продакшене куча серваков, которые нужно будет переводить на системд...

За это этим «несчастным людям» платят деньги. Планирование апгрейда никто не отменял как и кластерные/облачные системы. Если же хочется плювать в монитор и читать результат выполнения «yum upgrade» или «apt-get upgrade», то зачем держать такого «обновляльщека»?

anonymous
()
Ответ на: комментарий от Ager

Простая ситуация - на диске два партишена, прописано автомонтирование в fstab при загрузе. Возникла необходимость изменить их размер - от одного отрезать, другому добавить. На диске они расположены рядом - правда, тривиальная задача? Останавливаю приложения, которые работают с этими партишенами, делаю нужные бэкапы, отмонтирую. Запускаю gparted, корректирую партишены и запускаю переразбивку. И в _процессе_ работы gparted - ТАДДДАМ - умный (грёбаный) системд _МОНТИРУЕТ_ОБА ПАРТИШЕНА_ !!!!! Восстановление последствий этой «новой» логики заняло много времени...

Про LVM почитать религия не позволяет? Зачем вообще что-либо отмонтировать? В продакшене-то? Шел 21 век...

anonymous
()
Ответ на: комментарий от anonymous

За это этим «несчастным людям» платят деньги.

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

anonymous
()

хм, какоe Щастие! шо systemd ннинужен для HaikuOS.... и иксы, вяленые и миры - вместе с ним...

beos ★★
()
Ответ на: комментарий от ak380618

Ум и вежливость. Unlimited.

А еще я красивый, ага. И стараюсь общаться с оппонентами в том же тоне, в котором они общаются со мной.

tailgunner ★★★★★
()
Ответ на: комментарий от Anonymous

Ubunta - падеж

У тебя какой-то свой вариант английского :)

tailgunner ★★★★★
()
Ответ на: комментарий от Anonymous

Впрочем, и на этом примере видно, что из ~90% хостеров, которые выбрали не RHEL

Кхм. Еще раз: я привел эти данные, чтобы показать околонулевую долю того, что _не является_ Debian/Ubuntu или RHEL/CentOS.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

За это этим «несчастным людям» платят деньги.

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

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

anonymous
()
Ответ на: комментарий от ZenitharChampion

Всё не так. Помнишь зачем Столлман сделал GNU? В то время компы часто менялись. Не было так что год назад друг давал тебе программу, сейчас она понадобилась, и ты её просто так, без пересборки, запустил. Open Source позволяет не только работать в том, что больше всего нравится, но и дописывать эти программы самому!
Для меня Linux это быстрая и не глючная операционная система, удобная в работе.

Ты это точно про линукс говоришь? В линухе программа, собранная три месяца назад, не работает в более новых дистрибутивах. И пересборка не всегда проходит без правки кода. А фришные и проприетарные программы вообще нежизнеспособны в среде линуха, а только в конкретных дистрибутивах под которые отлаживаются.

Работать с такой системой невозможно. Только лазить по интеренту, смотреть фильмики и слушать музыку. В реальной работе, когда при каждом обновлении что-то отваливается, использовать такую систему невозможно.

Xintrea ★★★★★
()
Ответ на: комментарий от Xintrea

Работать с такой системой невозможно. Только лазить по интеренту, смотреть фильмики и слушать музыку. В реальной работе, когда при каждом обновлении что-то отваливается, использовать такую систему невозможно.

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

anonymous
()
Ответ на: комментарий от Xintrea

В линухе программа, собранная три месяца назад, не работает в более новых дистрибутивах

какая именно программа?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.