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)
Ответ на: комментарий от alpha

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

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

alpha> А почему Debian не рассматривает тот же openrc как возможный вариант?

С чего вдруг не рассматривает? Откуда дровишки?

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

alpha> (без злого умысла спрашиваю, если что)

Так ты прямо пиши: «Вы не подумайте, что я троллю. Я же не троллю! Ну ладно, троллю, но тонко, не со зла!».

Quasar ★★★★★
()

ins3y3d

Фразу

to create generic APIs and use them everywhere instead of domain-specific hackery that is unportable just because it is misdesigned

нельзя переводить как

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

В оригинале вообще нет упоминания DSL (поцеринг просто ниасилел никаких DSL) или стандартов; я бы перевел примерно так: «создавать обобщенные API и везде использовать их вместо специфичного для конкретной программы быдлокода, непортабельного из-за кривого дизайна».

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

Лучше не стоит. Это то, что скуривал Поцеринг, когда systemd писал.

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

reprimand> Я бы на месте Патрика Лойера написал бы свой system2d, который в тех. плане заваливал системд с потрохами, при этом всем имел компатибилити с всем, что нужно.

Этот «system2d» называется OpenRC. И в генте он давно уже инит по умолчанию.

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

init_6> Чувак просто жжот не по детски! Особенно с учетом того что есть еще одна подобная помойка где тоже не о каком разделении никто и никогда не слышал.

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

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

архитектура у него пока говно. Никакущая портабельность и высокая связность компонентов.

И так будет всегда.

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

Нытьё сопливое, а сделать-то никто ничего не сможет

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

Чем то эта вся история с системд напоминает...

++++

Подумайте об истории всевозможных стратегий доступа к данным, разработанным Microsoft. ODBC, RDO, DAO, ADO, OLEDB, теперь вот ADO.NET - И все абсолютно новые! Может это было вызвано технологической необходимостью? Может это результат некомпетентной группы проектирования, которой необходимо придумывать по-новой доступ к данным каждый чертов год? (Возможно, это в самом деле так.) Но конечный результат - всего лишь огонь для прикрытия. Конкуренты не имеют никакого другого выбора, кроме как тратить своё время, переписывая код под новые библиотеки и поспевая за лидером - время, которое они не могут использовать для создания новых возможностей.

...

Microsoft ведёт по вам огонь, и это всего лишь огонь прикрытия для того чтобы они могли двигаться вперёд, а вы нет.

++++ Огонь и движение. Джоэл Сполски

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

Так как ловить десяток процентов на 2 секундах, чтоб грузить ДЕ 8 секунд, с учетом большого промежутка времени от включения до появления загрузчика...

ГЫ, это время с момента старта с GRUB, до появления приглашения с вводом логина пароля. :)))

НУ а GRUB появляется (после загрузки bios) тоже пару секунд, итого в сумме после нажатия на кнопочку power я могу начать писать в eclipse уже через 15 сек

Ну ка у вас скока?

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

НУ а GRUB появляется (после загрузки bios)...

Чудеса и магия, граб появляется и груб исчезает. В зале овации

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

он сидеть в нём не сможет,русская тп его заставит сутками работать где-нить .

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

итого в сумме после нажатия на кнопочку power я могу начать писать в eclipse уже через 15 сек

...только такая куйня получится...

Ну ка у вас скока?

А у меня ноут не выключается неделями (suspend), а когда нужно именно выключить питание - делается hibernate.

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

У меня стационарник 2007 года

(ну это типа про то что у вас старый ;)

30 секунд до GRUB, загрузка 10 до логина и 5 после логина. Вот не было бы 30 первых... тоже было бы 15 сек ;)

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

30 секунд до GRUB

Ну у меня серваки HP тоже биос грузят около 2-3 мин.

Вопрос в другом, без системдэ - результаты совершенно другие..

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

anonymous> ЧСХ, для альфы это нормально, она же женщино.

Молодец. Теперь будет обсуждение дискриминации по половому признаку.

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

Теперь будет обсуждение дискриминации по половому признаку.

Так не было же. Хотя я так старался. :P

Надоел этот поцтеринг, давайте лучше про баб.

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

А у меня ноут не выключается неделями (suspend), а когда нужно именно выключить питание - делается hibernate.

Да вы что, такое возможно? Спасибо, то же не буду выключать...

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

Вопрос в другом, без системдэ - результаты совершенно другие..

Какие другие? У меня на компьютере это +/- 5% от общего времени загрузки...

Ну а если посмотреть как быстро грузится планшет на Tizen с системд... то тут уж такой фейл...

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

А у меня ноут не выключается неделями (suspend), а когда нужно именно выключить питание - делается hibernate.

Да вы что, такое возможно?

Да. Более того - это удобно, если не нужно соревноваться в дисциплине «кто быстрее начнет набирать куйню в Eclipse».

Спасибо, то же не буду выключать...

А еще купи себе учебник русского языка.

tailgunner ★★★★★
()

Видать, «Визина»(TM) этот «разработчик из команды Gentoo»(C) перекапался.

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

Ай да умница, ай да молодец. Ведь есть ещё адекватные люди на ЛОРе!

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

Никогда с ней проблем не было

Самовнушение — сильная штука, да.

wintrolls ☆☆
()
Ответ на: комментарий от druganddrop-2

Разработчик из команды Gentoo

Это фраза не имеет смысл уже как лет пять

Расшифруй, пожалуйста.

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

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

Могу лишь сказать, что во времена использования мной KDE3 его клавиатурный индикатор вполне успешно функционировал в сочетании с XKB. Где-то при переходе в KDE4 добавился ещё и достаточно продвинутый настройщик XKB.

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

Карта VIA по спецификации HDA.

Видел бы ты их чипы по спецификации OpenGL. Некоторые намертво виснут при загрузке текстур.

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

Половина «ненависти к убунте с её апстартом» обусловлена наличием CLA.

Чем? Corporate License Agreement? Или?

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

Вопрос в другом, без системдэ - результаты совершенно другие..

Какие другие?! Предъяви! Жили не тужили... Буду говорить только от себя. Мне плевать что там этот долбанутый думает и хочет. Пусть экспериментируют и извращаются у себя там. Upstart меня тоже пока не радует. Пусть хотя бы один Debian будет нормальным. Ну хотя бы 1-2 релиза. Гентушники тоже не дураки. За это время думаю многое будет ясно, многое сделано. И без того куча дел и задач.

А так, помимо всего. Складывается впечатление что мне хотят что то всучить. Как пылесосы которые рекламируют придя домой и бесплатно убравшись или как очередные безмозглые фанатики сектанты(религиозники(Не хочу обидеть чувства верующих, я о радикалистах)).

И не надо орать что systemd хорошо и оно наше все! Не надо скорость загрузки пихать как великое достижение. Есть и плюсы некоторые в systemd, но не стоит того.

Спасибо за внимание

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

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

Он тоже пилит только для себя, просто его костыль стараниями Redhat довольно популярен.

Теперь dbus - стандарт

Ну да, ну да. Ты еще скажи, что TCP - это стандарт. «По форме верно, а по сути -издевательство» (ц)

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

Не надо скорость загрузки пихать как великое достижение

Да вы ничего не понимаете!

Только благодаря системд aeX1pu2b набивает каждый день в эклипсе на 5 символов больше!

А если умножить на 365?

А если умножить на 100?

То-то!

Системд позволит каждому программисту выключающему ноутбук написать на целый проектик больше и осчастливить им всех жителей Земли!

Слава Поттерингу! Слава создателю божественной системд! Ура!

anonymous
()

Тут вообще есть люди которым всё равно на холивар между openrc и systemd ? за два дня 13 страниц не о чём.

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

Тут вообще есть люди которым всё равно на холивар между openrc и systemd ? за два дня 13 страниц не о чём.

Молодца, плюсую.

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

Ладно бы еще бородатые админы, которым 20 секунд лишних для рестарта кластера это много, поэтому выбирают что то конкретное. Интереснее всего наблюдать за тем как вендоюзеры и локалхостеры холиварят почему одно лучше другого третьего и четвёртого. Что дают, то и юзайте. Если не нравится что дают, берёте генту/слакварь/арч и собираете то что нравится. Не собирается/нету времени/ не осилил ? Убунта с апстартом ваше всё. [/tread]

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

по настройке Вашего компьютера

Компьютеров, и не только моих. Везде где я видел третьекеды — переключалка не работала либо работала лишь по тычку мышей на значке в трее.

его клавиатурный индикатор вполне успешно функционировал в сочетании с XKB

Не знаю что там за XKB, я честно попытался пользоваться штатными средствами DE, как и положено.

wintrolls ☆☆
()
Последнее исправление: wintrolls (всего исправлений: 2)
Ответ на: комментарий от aeX1pu2b

около 10 секунд, mint 16

без всякого гогна

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

Возражения по сути есть?

Есть конечно. Апстрим системде сейчас активно пилят арчеводы, например. Есть конечно вероятность что им тоже платит RH, но как-то не верится. Как показывают наблюдения, зарплата разработчикам и использование в популярных дистрибутивах не является залогом успеха и распространенности вне собственных изделий (см. апстарт, например).

«Прессинг»? Не вижу, где я употребил это слово.

Но ведь подразумевал, да?

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

Не переключает она с клавиатуры. Приходится сносить её нафиг и ставить какой-нибудь xneur.

Всё переключает нормально. Настраивается через GUI.

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