Я создавал 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
