Что там у systemd?
За последнее время было не так много новостей о systemd, и даже выходы новой версии больше не ошеломляют. Дело в том, что самые большие новости о systemd в том, что не сделано, и чего планируют переделать. Об этом и поговорим.
Долгожданная функциональность управления пользовательскими сессиями, systemd user sessions, к сожалению, не будет использоваться. Ее запланировали полностью переработать. Ну жаль, что. Будем надеяться, что переделка не займет еще четыре года.
Под нож пошла и функциональность kdbus, которую недавно выбросили и из Rawhide. Вместо нее сейчас, особо не афишируя результаты, разрабатывается bus1.
Пока держится функционал systemd-networkd, но народ уже недовольно замечает, что архитектурно реализация отличается от всех остальных компонентов. Юниты systemd-networkd обрабатываются не на уровне systemd, а на уровне запущенного сервиса systemd-networkd, и поэтому присутствовать в графе зависимостей между остальными сервисами не могут.
Это, конечно, проблема, т.к. не получается эффективно реализовать зависимости между объектами systemd-networkd и остальными юнитами.
Продолжает нарастать антагонизм между подходом Docker и systemd, о чем уже высказался Dan Walsh на прошедшем DevConf.cz. В последних релизах systemd, многое было сделано, чтобы облегчить ситуацию, а вот со стороны Docker контакта нет, и они последовательно отказываются включать в Docker патчи для совместимости с systemd (обратите внимание на обсуждения следующих пуллреквестов - раз, два, три, четыре). Поскорей бы народ от Docker отказывался в пользу более архитектурно правильно разработанных альтернатив (того же systemd-nspawn).
Интересно, что запуск сервиса без systemd в контейнере, некоторыми рассматривается, как преимущество Docker. Ну, кроме обычной systemd-фобии, в этом ничего нет. И как только такие systemd-фобы приобретут некий опыть работы с сервисами в продакшене, они задаются странными вопросами, порой оканчивающиеся созданием примитивной init-системы. Проблематика-то есть, и отрицать ее странно, но systemd это неюниксвэй и ужос-ужос, вот и приходится мучаться.
Латентные проприетарщики из FreeBSD все так же костыляют свой аналог systemd. Т.к. гордость, это плохая замена разуму, то они рассматривают три варианта, написанных с нуля (ну, с оговорками). Это, кстати, как мы знаем из истории BSD-систем, скорее всего приведет к еще трем несовместимым вариантам BSD. В паре вариантов предлагается взять launchd из проприетарной Mac OS X - так свободнее с т.з. любителей BSD. Во всех трех вариантах уже удалось реализовать функции systemd - неполностью и несовместимо, как это всегда и было у всех несовместимых даже между собой вариантах BSD. Ну пускай, чего уж там.
А пока можно подводить итоги перевода systemd на GitHub. Благодаря богатой функциональности GitHub, отсутствующей у ряда свободных (с их т.з.) хостингов, удалось легко прикрутить CI для всех пулл-реквестов. Доступна теперь и формальная статистика, по которой можно строить красивые графики и визуализировать здоровье проекта. Пока все выглядит хорошо!
И забавная новость - systemd теперь используется в электромобилях BMW. Как мы и предупреждали. В ВАЗ 2104 никакого systemd не будет, так что волноваться хейтерам не о чем - выбор всегда будет!