Eu criei um serviço de teste em / etc / systemd / system, que é o caminho correto para criar arquivos de unidade personalizados.
[root@apollo system]# cat sample.service
[Unit]
Description=This is my test service
Wants=chronyd.service
After=chronyd.service
[Service]
Type=forking
ExecStart=/root/sample.sh
[Install]
WantedBy=multiuser.target chronyd.service
#RequiredBy=multiuser.target chronyd.service
#Alias=xyz
[root@apollo system]# pwd
/etc/systemd/system
[root@apollo system]#
Eu me certifiquei de que systemd estava ciente executando "systemctl daemon-reload". Eu também fui capaz de parar / iniciar o serviço.
Quando tentei mascarar, isso me mostra este erro:
[root@apollo system]# systemctl mask sample.service
Failed to execute operation: File exists
[root@apollo system]#
Isso porque o systemd está tentando criar um symlink usando este comando:
ln -s /dev/null /etc/systemd/system/sample.service
Como o sample.service já existe dentro de / etc / systemd / system, o comando falhará a menos que o systemd use "ln -fs".
Então, significando que não podemos mascarar qualquer arquivo de unidade que criamos em / etc / systemd / system?
Eu tentei mover sample.service para / usr / lib / systemd / system e consegui mascará-lo porque ele foi capaz de criar um link simbólico em / etc / systemd / system sem qualquer impedimento.
Alguém já experimentou isso? Você acha que isso é um bug?