Como criar rc.local dentro da systemd

Como criar rc.local dentro da systemdÀ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.
Systemd 246 será lançado em breve com muitas mudanças
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.

sudo nano /etc/systemd/system/rc-local.service
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.

sudo nano /etc/rc.local
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.

sudo chmod +x /etc/rc.local

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.

sudo systemctl enable rc-local
Se você desejar desabilitar o serviço precisa apenas digitar.

sudo systemctl disable rc-local
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.

FONTE: Blog SempreUpdate
(Excelente website de notícias! Recomendo!)