Às vezes nos deparamos com problemas para colocar algum aplicativo ou comando para rodar na inicialização do sistema operacional e nem sempre temos estes aplicativos como service. Então, resolvi escrever este tutorial de como criar rc.local dentro da systemd.
Este tipo de abordagem é muito utilizada no slackware, pois utiliza uma init diferente, e como utilizei em minha vida muito Slackware, então, às vezes, acredito ser mais fácil colocar as aplicações para rodar desta forma quando o computador é iniciado.
No Slackware ele já tem como padrão uma rc.local em sua init para que assim sejam colocadas aplicações para rodar quando é inicializado.
Então, mãos a obra.
Criando service na systemd
Primeiramente, vamos criar o nosso service dentro da systemd e para isso vamos criar o arquivo rc-local.service da seguinte forma.
E vamos adicionar as seguintes linhas ao arquivo que estamos editando.
[Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local # Descomente linha abaixo para # iniciar depois de conectado # After=network-online.target [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target
Podemos ver que nas linhas que adicionamos acima tem a linha After=network-online.target que está comentada. Portanto, se você desejar que o script inicie após a rede estar conectada será necessário descomentar a linha, o que significa retirar o # da frente.
Com o nosso service dentro da systemd criado chegou a hora de assim criar o script que irá receber os comandos que vão ser executados na inicialização.
Para isso vamos editar o arquivo rc.local da seguinte forma.
E vamos inserir as linhas a seguir para que nosso script funcione.
#!/bin/bash
# Comandos aqui abaixo antes do “exit 0”
exit 0
Vamos então transformar o arquivo rc.local em executável.
Habilitando service
Então com nossos arquivos criados agora chegou a hora de habilitar o serviço na systemd e para isso vamos utilizar o comando.
Se você desejar desabilitar o serviço precisa apenas digitar.
Enfim, espero poder ter ajudado com este tutorial de como criar rc.local dentro da systemd e você consiga executar em sua inicialização o comando desejado.