SO - Red Hat Enterprise Linux 8
Eu criei um .spec
arquivo para construir e empacotar meu aplicativo. Meu rpm
também inclui my_app.service
arquivo para systemd
iniciá-lo. No entanto, por padrão, é necessário habilitar isso com systemctl enable my_app.service
. Eu gostaria de tê-lo ativado após a rpm
instalação. Eu pesquisei e descobri que posso usar systemd.preset , que diz:
Não é recomendado enviar arquivos predefinidos dentro dos respectivos pacotes de software que implementam as unidades, mas sim centralizá-los em uma política padrão de distribuição ou spin, que pode ser alterada pela política do administrador.
Isso significa que eu não deveria estar adicionando .preset
arquivo no meu rpm? Além disso, mais tarde na man
página, diz:
Se não existirem arquivos predefinidos, a predefinição systemctl habilitará todas as unidades instaladas por padrão.
Se eu ler corretamente, o arquivo de serviço do meu aplicativo deve ser ativado automaticamente, mas isso não está acontecendo, ou isso implica no manual systemctl preset
?
Sim, você não deve colocar o arquivo .preset no RPM do pacote do seu serviço
Isso não está acontecendo porque o
systemd
pacote no RHEL é fornecido com uma predefinição padrão em/usr/lib/systemd/system-preset/90-systemd.preset
.Se você quiser seguir as diretrizes de embalagem de distribuição, você tem duas opções, a saber:
epel-release
, que instala/usr/lib/systemd/system-preset/90-epel.preset
entre outras coisas.