
A ativação de um serviço systemd para iniciar na inicialização é feita por enabling
ele. A ativação cria um link simbólico em um local específico. Exemplo:
$ systemctl enable rsyslog
Created symlink /etc/systemd/system/multi-user.target.wants/rsyslog.service → /lib/systemd/system/rsyslog.service.
A documentação parasystemctl enable
afirma:
Observe que esta operação cria apenas os links simbólicos sugeridos na seção "[Instalar]" dos arquivos da unidade.
Gostaria de alterar o local onde esses links simbólicos são criados (e verificados) para um serviço específico.
É possível definir este local para outra coisa?
Depois que a mudança que estou perguntando for implementada, o comportamento seria:
$ systemctl enable rsyslog
Created symlink /user/home/multi-user.target.wants/rsyslog.service → /lib/systemd/system/rsyslog.service.
O caso de uso do qual esta questão se origina é fazer com que o status do serviço (ativado/desativado) sobreviva a uma reescrita completa do rootfs (atualização do sistema incorporado), fazendo com que os links residam em uma partição separada.
Responder1
Não. O caminho de pesquisa para arquivos de unidades está documentado emhomem systemd.unit.
Para unidades de usuário você pode customizar $XDG_RUNTIME_DIR, mas para unidades de sistema os caminhos são fixos.