История изменений
Исправление Shadow, (текущая версия) :
Я вообще за старый добрый bsd init. В принципе, в описываемом виде systemd - современная и сложная ПРЯМАЯ замена элементарному скрипту автозапуска + inetd.
Попаболь, связанная с зависимостями: shell скрипт выполняется последовательно, потому то, что запущено позже, будет запущено ПОСЛЕ того, что должно быть запущено раньше
Попаболь, связанная с «ой-ой, ВНЕЗАПНО упал демон, надо перезапустить» - вообще ГНИЛАЯ. Или демон работает, или падает ВСЕГДА, пока не устранена причина падения. НИКАКОЙ systemd не поможет его нормальной работе.
Попаболь, связанная с тем, что какой-то демон, зависимый от другого, не запускается, если другой не запущен... Ну так надо ставить цикл проверки, пока не откликнется тот демон, от которого зависит...
Попаболь, связанная с зависанием чайлдов головного процесса демона... ОТЛИЧНАЯ идея! Криворуко написанный демон, в котором потомок «уходит» от родителя и после завершения родителя не ловит сигнал о собственном завершении - так вот проблема такого демона именно в init системе, и ни в чём больше! И только замена init на более сложный спасёт ситуацию (а не написание прямого софта).
Проблема не в том, что systemd сложный или кривой, проблема в том, что он решает не существующие проблемы и усугубляет существующие.
Более того, большая часть проблем решается созданием какой-нибудь libdaemon.so, повышающей качество и культуру написания демонов.
Нет, надо лезть в init. И жуткую ненависть вызывают как раз такие принципы: демон pulseaudio вместо допиливания soft mixerа (как делалось везде, во всех системах и дистрибутивах linux, кроме rh), изменение init вместо повышения качества программного кода... Предсказываю, что следующей инновацией от Поттеринга будет замена grub для обеспечения работы устройств ввода (клавиатур, мышей и т.п.) и замена gcc для «правильного» видеоускорения.
Исходная версия Shadow, :
Я вообще за старый добрый bsd init. В принципе, в описываемом виде systemd - современная и сложная ПРЯМАЯ замена элементарному скрипту автозапуска + inetd.
Попаболь, связанная с зависимостями: shell скрипт выполняется последовательно, потому то, что запущено позже, будет запущено ПОСЛЕ того, что должно быть запущено раньше
Попаболь, связанная с «ой-ой, ВНЕЗАПНО упал демон, надо перезапустить» - вообще ГНИЛАЯ. Или демон работает, или падает ВСЕГДА, пока не устранена причина падения. НИКАКОЙ systemd не поможет его нормальной работе.
Попаболь, связанная с зависанием чайлдов головного процесса демона... ОТЛИЧНАЯ идея! Криворуко написанный демон, в котором потомок «уходит» от родителя и после завершения родителя не ловит сигнал о собственном завершении - так вот проблема такого демона именно в init системе, и ни в чём больше! И только замена init на более сложный спасёт ситуацию (а не написание прямого софта).
Проблема не в том, что systemd сложный или кривой, проблема в том, что он решает не существующие проблемы и усугубляет существующие.