Gostaria de criar uma instalação com script para uma lista de Systemd
serviços. Esta instalação deve suportar Ubuntu (a partir da versão 16.04) e RHEL/CentOS (a partir da versão 7.2)
Eu li os documentos do RHEL e encontrei três caminhos nos quais eu poderia armazenar arquivos de unidade, esses caminhos são:
- /usr/lib/systemd/system/
- /lib/systemd/system/
- /etc/systemd/system
Qual é o local correto para serviços que atendem a esses critérios:
- Os arquivos de unidade estão lá para serviços não no nível do sistema (serviços específicos do aplicativo)
- Nenhum serviço de nível de sistema operacional já existente é substituído
- A localização é idêntica no Ubuntu e RHEL/CentOS
Nas distribuições padrão do Red Hat,
/lib
é um link simbólico para/usr/lib
, mas parece que são locais diferentes no Ubuntu.De acordo com a documentação do systemd ,
/usr/lib/systemd/system/
é designado para armazenar arquivos de unidade upstream que não seriam editados pelos usuários e, em vez disso, seriam fornecidos e atualizados por meio de pacotes.O
/etc/systemd/system
é designado como onde os arquivos de unidade fornecidos pelo usuário estariam. Os pacotes não devem substituir ou atualizar nada no/etc/systemd/system
. Você também pode usar/etc/systemd/system
para substituir os arquivos de unidade existentes.Portanto, o uso
/etc/systemd/system
deve ser o mais compatível entre as diferentes distribuições.