Múltiplas instâncias da unidade do sistema não-modelo

0

Eu executei duas instâncias do PostgreSQL em um servidor CentOS 7, e estou trabalhando na conversão dos scripts init estilo SysV para unidades systemd. O problema é que o RPM do PostgreSQL vem com um único arquivo de unidade de serviço, não modelo.

Tanto quanto eu posso dizer, eu tenho que escolher entre algumas opções desagradáveis:

  1. Posso usar a diretiva .include reprovada para criar duas unidades customizadas em / etc / systemd / system. O arquivo de serviço atual realmente avisa usando .include para personalização, mas eu sei que a diretiva foi preterida, o que significa que pode Pare de trabalhar no futuro.
  2. Eu posso duplicar o arquivo da unidade, mas arrisco a divergir quando, eventualmente, os arquivos da unidade original são atualizados, mas o arquivo da unidade copiada não é.
  3. Eu posso criar um modelo com base no arquivo de unidade existente, o que significa que minhas unidades funcionarão bem ou não, mas ainda não serão atualizadas quando o arquivo de unidade upstream for atualizado.

Existe uma maneira melhor? Isso parece ser um caso de uso comum, para pessoas que desejam executar vários servidores de banco de dados ou memuitos daemons SSH ou vários servidores http na mesma máquina.

    
por itsadok 02.07.2018 / 15:29

1 resposta

1

As unidades de modelo são provavelmente a melhor solução. É assim que o pacote Debian é configurado - você pode pegar seus arquivos de serviço do postgres-common sources e ajuste os caminhos quando necessário. É verdade que o arquivo da unidade não será atualizado automaticamente junto com o autor, mas não vejo uma maneira de contornar isso. Talvez a próxima versão principal envie unidades de modelo nativas?

    
por 05.07.2018 / 13:28