[sisyphus] systemd и зависимость сервисов

Sergei Epiphanov serpiph на nikiet.ru
Пт Сен 21 10:28:53 MSK 2012


On 20 сентября 2012 18:43 Alexey Shabalin wrote:
> если сервисы так зависят друг от друга, желательно в секцию [Install]
> добавить WantedBy=, RequiredBy=

Спасибо за наводку. Получается, что зависимости можно задавать несколькими 
путями:
1) Requires/Wants в секции Unit для скрытой зависимости;
2) RequiedBy/WantedBy в секции Install для явной зависимости;
3) ручным созданием симлинков в каталоге с именем файла сервиса и суффиксом 
.wants/.requires.

Но что делать, если политика требует копирования сервис-файла из 
/lib/systemd/system в /etc/systemd/system перед любой его правкой? А это 
приходится делать из-за того, что в 90% случаев нужно дополнительно вписывать 
Before/After в сам файл (больше некуда), а после обновления пакета сервис-файл 
от старой версии может привести к неработоспособности новой версии демона.

Впору делать подкаталоги <имя сервис-файла>.after/ и <имя сервис-
файла>.before/ по аналогии с .wants/.requires. Тогда порядок запуска будет 
отвязан и не помешают нормальному обновлению пакетов в дистрибутиве.

Я к тому, что .wants/.requires - это лишь половина порядка запуска.

-- 
С уважением, Епифанов Сергей


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