Os arquivos da unidade vinculados Systemd no disco montado falham ao carregar

6

Temos um aplicativo interno com serviços systemd que queremos implementar fora dos diretórios systemd normais (/ etc / systemd / system e / usr / lib / systemd / system). Esse local está em outro disco (/ mnt / data no exemplo).

O serviço systemd é ativado por:

systemctl enable /mnt/data/sprinterd.service

que cria um link simbólico em / etc / systemd / system

lrwxrwxrwx. 1 root root   27 Jun 20 22:47 sprinterd.service -> /mnt/data/sprinterd.service

Após a reinicialização, o serviço não é carregado porque o arquivo da unidade não pode ser encontrado. De journalctl, primeiro um erro que o serviço não conseguiu carregar, depois disso a montagem do disco onde a unidade está localizada.

Cannot add dependency job for unit sprinterd.service, ignoring: Unit sprinterd.service failed to load: No such file or directory.
systemd[1]: Mounted /mnt/data.

De / etc / fstab:

/dev/disk/by-uuid/c55e944f-5c63-48ad-8cd2-bd32d7b35c82 /mnt/data auto nosuid,nodev,nofail,x-gvfs-show 0 0

Para completar o arquivo da unidade de serviço:

[Unit]
Description=sprinterd

[Service]
Type=simple
Environment=TERM=linux
ExecStart=/srv/s1.erp/bin/sprinterd
Restart=always
RestartSec=5
KillSignal=SIGKILL

[Install]
WantedBy=multi-user.target

Eu testei isso no RHEL 7 e no openSuSE 13.2.

É suportado ter um arquivo de unidade de serviço do sistema em outro disco diferente de / etc ou / usr? Como a ordem de execução entre a montagem do disco e o carregamento dos arquivos da unidade do sistema pode ser alterada?

    
por nickvane 21.06.2016 / 10:39

1 resposta

1

Esta é uma limitação conhecida . Queria ter uma solução para você.

    
por 29.03.2018 / 19:46

Tags