Você deve armazenar seu conteúdo personalizado arquivos unitários em /etc/systemd/system/ . Depois de criá-los, você precisa ativá-los com systemctl enable name , o que cria os links simbólicos necessários.
Eu coloquei um arquivo de serviço do systemd em usr/lib/systemd/system/testfile.service .
Aqui está o arquivo de serviço:
[Unit]
Description=Test service
[Service]
Type=notify
ExecStart=/bin/dd.sh
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=30s
[Install]
WantedBy=multi-user.target
Eu tentei iniciar o serviço no momento da inicialização tentando essas duas maneiras
/usr/lib/systemd/systemd para /etc/systemd/system/multi-user.target.wants (manualmente e usando o comando systemctl enable) e reinicializado o sistema, o serviço testfile foi iniciado com êxito no momento da inicialização. After=testfile.service e Wants=testfile.service , e reinicializou o serviço testfile do sistema iniciado com êxito. Mas quando eu coloco o arquivo /usr/lib/systemd/system e sem qualquer serviço de abordagem de solução 1 ou 2 não é iniciado, sinto que colocar o arquivo de serviço em / usr / lib / systemd / system / é suficiente para qualquer serviço ser iniciado automaticamente , sem criar os softlinks para o diretório desejado ou criar a dependência com os outros serviços.
Por favor, deixe-me saber, como iniciar um serviço no momento da inicialização que está presente no diretório /usr/lib/systemd/system sem abordagens de solução 1 ou 2?
Eu também criei arquivos predefinidos em usr / lib / systemd / system-preset / para desativar e ativar poucos serviços, parece que os arquivos predefinidos não foram executados, os serviços que eu desativei no arquivo predefinido ainda estão ativados após o arrancar. Por favor, deixe-me saber como depurar este problema.
Você deve armazenar seu conteúdo personalizado arquivos unitários em /etc/systemd/system/ . Depois de criá-los, você precisa ativá-los com systemctl enable name , o que cria os links simbólicos necessários.
Quando você coloca um arquivo de unidade em /usr/lib/systemd/system , você está meramente adicionando-o à biblioteca de unidades disponíveis no sistema. Mas você não disse ao sistema para executá-lo.
Normalmente, você executaria systemctl enable myservice . Isso criará efetivamente o link simbólico que você fez manualmente.
Este link informa que a inicialização processa quais unidades iniciar no momento da inicialização.
Se você está acostumado a formulários antigos de init , pode pensar nisso como o equivalente a colocar um arquivo em /etc/init.d ; até você adicionar um link para /etc/rc3.d/S##myservice , então ele não será iniciado no momento da inicialização.
Agora, pode haver condições em que outros serviços podem depender do seu serviço e isso pode causar uma inicialização, mas se nada depender do seu serviço, você precisará ter o link simbólico criado por systemctl enable .
Tags systemd systemd-boot