>>>>> 2) отсутствует проверка check_for_no_start()
>>>> [Unit]
>>>> ConditionFileExists=!/etc/ssh/sshd_not_to_be_run
>>> Поверю вам на слово, что оно при этом выдает вменяемое сообщение пользователю. А не уровня "неможу стартовать сервис - поди сам догадайся почему".
>> возьмите да проверьте.
>>> А при рестарте сработает?
>> по идее да.
> Ну, ок - верю вам на слово. А теперь выдайте на гора коротенькое сообщение, поясняющее пользователю *почему* сервис не стартует и *что* нужно сделать, чтобы стартовал. Вот как сейчас делается. По человечески, чтобы не гадал, болезный.$ systemctl show sshd.service
Load: failed, reason: "ConditionFileExists=!/etc/ssh/sshd_not_to_be_run" not true.
Прямо даже не знаю, что бы это могло значить. Абсолютно, решительно никаких идей. Это сарказм, если что.
И да, правильно будет "ConditionPathExists". Я ошибся.
> Полагаю, ExecStartPre выростет еще на код check_for_no_start()
>> окей, это в батник.
>> Что и требовалось доказать — тривиальные сервисы пишутся пяткой левой ноги не приходя в сознание, а нетривиальные — максимум, ну я не знаю, запиливанием обёртки из 40 строк.
> ИТОГО: вы исключили только шаблонный код, как и предполагалось. Всякие case .. in start) ... stop).
я беру свой любимый текстовый редактор, добавляю в этот ваш /etc/init/lsb-functions.sh что-то вроде (rand && exit 1). счастливой отладки.
> Абсолютно ничего не мешает запихнуть этот шаблонный код в функцию на posix-shell. Просто никому это нафиг не упало. Вам это объясняли. Ну не понимают люди, что сложность кода надо в SLOC измерять, хоть убей.
прекрасно понимают. если сравнение не в пользу Привычных Инструментов Проверенных Веками, значит сравнивать нельзя.
> Это уже весь пук systemd?
как угодно. мне надоело. Время рассудит.