Я создавал RPMS (используя CPake CMake), который устанавливает все в /opt
, а затем скрипт postinstall копирует файлы определения сервиса в /etc/systemd/system
.
Я поиграл с запуском и остановкой служб также в сценариях RPM postinstall и preuninstall, но это не очень хорошая идея, потому что yum
запустит сценарий postinstall перед сценарием preuninstall, если выполнит обновление, и это означает, что если вы попытаетесь обновить службу, то в конечном итоге она не будет работать. Кажется, даже включение / отключение имеет ту же проблему.
Итак, у меня есть два вопроса
Это хорошая идея для установки непосредственно в
/etc/systemd
, или после установки нужно скопировать из/opt
в/etc/systemd
? Послеcp
иsystemctl daemon-reload
происходит "правильный" способ установки служебного файла?Есть ли чистый способ
starting/stopping/enable/disable
служб из RPM, или это лучше оставить вне RPM?
Связанный вопрос (без ответов) для Debian:
Предпочтительный / Идиоматический метод для включения systemd.service из установки пакета Debian