[sisyphus] [JT] Re: Проблемы: systemd & display manager & LSB^ starting job ... networking

Денис Смирнов mithraen на freesource.info
Пт Авг 15 13:49:49 MSK 2014


On Fri, Aug 15, 2014 at 01:01:41PM +0400, Michael Shigorin wrote:

> Это в другую сторону -- шоб было познавабельное, диагностируемое
> и исправимое на коленке.

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

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

> Вот ещё поток сознания, под цензурной частью которого подпишусь:
> https://lkml.org/lkml/2014/8/12/459 (тредик дальше тоже хорош)

Дык все это понятно. И даже понятно почему разработчики приняли такое
(неправильное с моей точки зрения) архитектурное решение.

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

У systemd есть как минимум 2 killer feature, которые крайне важны:

1. systemd удалось добиться того, что уже десятилетия не удавалось inetd и
xinetd -- socket activation services. Да, в этом смысле systemd технически
ничем не лучше, но продавливать у них получается. И это в долгосрочной
перспективе хорошо.

Реализовать запуск полностью корректного с точки зрения systemd сервиса из
под xinetd задача тривиальная.

2. unit'ы это не код, а данные. Перенос initscript'ов даже между
дистрибутивами требует участия человека с мозгами. Перенос unit'ов в
какую-либо другую новоизобретенную систему конфигурации будет куда более
простой задачей.

И уже ради этих двух фич я готов мириться со всеми тараканами systemd.
Благо заточить его до уровня удобства и юзабельности нашего sysv-init
вполне реальная задача.

При этом нерешенными останутся только две проблемы:

1. systemd будет всегда потенциально менее надежен чем init из-за большей
сложности -- но вопрос не "более/менее", а вопрос "достаточно надежно". И
это решаемо.

2. systemd будет всегда более требователен к памяти. То есть на терминалах
из старых машин он бесполезен. На современных машинах, даже ARM'ах, эти
затраты памяти уже несущественны.

А вот плюсов поиметь мы можем. Только для этого придется его точить
напильником.

Так что выбирай:
- продавливать апстрим на больший интеллект (крайне сложно)
- брать напильником и доводить работу systemd в альте до близкой к идеалу
- продолжать материться, бзать sysv и бороться с последствием того, что
  все больше и больше проектов будут малоработоспособны без него
- писать свою систему инициализации

P.S. 

Если бы большинство разработчиков не страдали NIH-синдромом и не были
клиническими идиотами, то sysv + xinetd + daemontools уже 10 лет назад
решали бы все поставленные проектом systemd задачи ничуть не хуже.

systemd несмотря на все свои тараканы вынуждает разработчиков писать свой
код в большей степени соответствуя UNIX идеологии. И это очень хорошо.

-- 
С уважением, Денис

http://mithraen.ru/

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 181 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20140815/cd170fbf/attachment.bin>


Подробная информация о списке рассылки Sisyphus