Новости systemd/Linux-платформы

С окончательным переходом Ubuntu на systemd на нашего товарища, инженера Canonical, Martin Pitt, рекой потекли багрепорты. Его, конечно, это не пугает, и он бесстрашно смеется над опасностью. Конечно, если бы его начальство не упиралось бессмысленно, то у них бы сейчас была бы и IVI-версия, и версия для телефона, и версия для телевизора. Ну, будем надеяться, что от самодельного аналога Wayland они откажутся оперативнее, без попыток навязать свое нестандартное решение другим, в т.ч. в материнский дистрибутив. Все равно ведь придется отказываться, так что тянуть?

Мы пока неторопливо добавляем поддержку systemd в сервисы. Конечно, речь не идет о том, чтобы переводить на исключительное использование systemd - поддержка огораживается ifdef-ами, т.к. еще есть Mac OS X и FreeBSD. Но если вы используете Linux-дистрибутив, которые уже все перешли на systemd, за исключением нескольких отмирающих или узкоспецифичных дистрибутивов, то вы можете заметить улучшенную интеграцию сервисов с systemd. Недавно была добавлена в Apache поддержка журналирования с помощью Journald. Новый функционал доступен начиная с версии 2.5, и пока есть какие-то проблемы с производительностью, но можно надеяться, что способ перенаправления журнала Apache в Journald скоро будет неактуален.

AMQP-сервер RabbitMQ, написанный на Erlang и популярный при проектировании облачных систем на базе OpenStack, начиная с версии 3.5.0 имеет штатную поддержку systemd-notify. Мы тестировали эту функциональность около полугода, и теперь перенесли в апстрим, что позволит и другим дистрибутивам решить ряд проблем.

Мы работаем и над интеграцией не столь широко использующихся сервисов. Например, широко известный в узких кругах VoIP-разработчиков и архитекторов RTPproxy недавно получил (раз pull request и два pull request) поддержку systemd, о чем теперь официально объявлено в анонсе недавно вышедшей версии 2.0.0.

Не все так гладко в других проектах, где разработчики, предлагающие патчи для лучшей работы с systemd, порой наталкиваются на необъяснимую агрессию со стороны upstream-разработчиков. Например, включение небольшого патча для systemd в Polipo идет уже несколько лет. Автор Polipo был против включения в 2012 году, выкатив ряд надуманных возражений (зависимость от хидеров из systemd, затем, уже после отказа от них, он начал всерьез упоминать про runit, и притворяться, что размер патча слишком большой, чтоб его просмотреть). Прошла пара лет, и он уже после дежурных проклятий в сторону systemd, на которые мы внимания уже не обращаем, пообещал заревьюить его, да так и замылил это дело. Но разработчики не сдаются, и вновь оформили pull request - вода камень точит. Вообще, проблема в том, что Polipo, это нынешний де-факто фронтэнд-модуль для Tor, и хотелось бы, чтоб его интеграция в systemd/Linux платформу была бы получше. Раньше использовали Privoxy, но потом перешли на Polipo, хотя их функциональность различается, и можно было бы использовать одновременно оба.

Мы уже говорили, что systemd в RHEL 7 и производных дистрибутивах слишком стар - в нем, например, нет поддержки конфигурирования сети. Lukáš Nykrýn подготовил специальный репозиторий для RHEL7 с самой новой версией systemd, о чем мы вам уже говорили. На днях он обновил systemd до версии 219. Некоторые наши коллеги уже вовсю используют его сборку в production-системах, наслаждаясь возможностями по управлению сетью. К сожалению, код очень экспериментальный, и порой на ровном месте возникают не очень понятные эффекты. Нас, конечно, проблемы не пугают!