> Расскажите нубу, в чем беда с системд, за что его так не любят?


Предыдущая | Следующая

> Расскажите нубу, в чем беда с системд, за что его так не любят?

Я бы рекомендовал нубу почитать новости о выпусках systemd на opennet с 2014го года.

Кратко:

1) переход с sysvinit на systemd являлся потерей гибкости ради упрощения типовых сценариев
2) агрессивное насаживание systemd вызвало массу недовольства: самый яркий пример -- привязка gnome к logind, который Поттеринг в 2014м внезапно решил сделать затем жёстко зависимым от systemd-as-pid-1. Это сделало на какое-то время невозможным использование gnome без systemd.
3) нарушение обязательств разработчиками systemd: так, например, когда в 2012м кодовую базу udev слили в репозиторий systemd "ради удобства разработки", разработчики обещали, что будут поддерживать независимую сборку и работу udev. Обещание продержалось 2 года.
4) разработчики закрывают баги, которые им не нравятся, без исправления; фраза "этонибаг" уже давно является мемом, ассоциирующимся с разработчиками systemd.
5) разработчики зачастую не уведомляют в changelog-ах об исправлениях безопасности, в связи с чем любые дистрибутивы, кроме развиваемых Red Hat, могут оказаться уязвимыми, потому что просто не знают о том, что надо бэкпортировать эти фиксы.
6) все реально востребованные возможности systemd так или иначе уже существовали ранее, systemd не принёс ощутимой пользы грамотным пользователям
7) негибкость механизма сервисов привела к тому, что для любой мало-мальски нетиповой ситуации всё равно надо писать скрипты на shell
8) крайне низкое качество кодовой базы

Тем не менее, от внедрения systemd были и плюсы.

1) Технически не подкованные пользователи и разработчики, для которых написание скриптов инициализации в sysv было проблемой (ну не смогли они освоить тьюринг-полный язык), наконец смогли преодолеть порог вхождения для написания своих сервисных юнитов.
2) Поскольку systemd делался именно с рассчётом на подобных людей, watchdog, рестартующий упавшие сервисы -- пришёлся очень кстати, и по вкусу всем его фанатам.

Короче, как итог: жизнь хороших специалистов почти не изменилась (нам плевать, с чем работать, пусть даже и с рeшетом), хотя кому-то было очень больно (systemd может вести себя очень плохо в целом ряде случаев); жизнь огромного числа новичков упростилась кардинально.

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

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

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

https://www.opennet.ru/base/sys/systemd_myth.txt.html