Categories: Sem categoria

Adicionar suporte a rc.local no ubuntu 16.04 ou superior

Embora um script muito útil para tarefas de inicialização de um servidor, essa funcionalidade se perdeu na migração de init.d para systemd.

Para poder utilizar esse arquivo novamente, vamos instalar um serviço no systemd que irá se encarregar da execução.

Primeiramente, vamos criar o rc.local e aplicar permissão de executável:

printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local

Após isso, vamos criar o serviço no systemd

sudo systemctl edit --full rc-local

Será necessário inserir no final do script, os parâmetros de instalação do mesmo:

[Install]
WantedBy=multi-user.target

O arquivo final vai ficar parecido com isso:

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

Depois é só rodar o comando de instalação e voilá

systemctl enable rc-local
Felipe Braz

Recent Posts

online ansible vault tool

A criação e validação de credenciais seguras em ansible sempre gera um pouco de dor…

2 anos ago

Magento e o mistério do servidor somente-leitura

Dia desses, um dos meus servidores entrou com o sistema de arquivos / em modo…

5 anos ago

Localização de arquivos .desktop no ubuntu

O launcher do ubuntu não fornece muitas opções me relação aos icones, muitas vezes apps…

5 anos ago

Ordenar array por tamanho em php

Três meios diferentes para a mesma finalidade: Usando funções nativas do PHP (recomendado): array_multisort(array_map('strlen', $array),…

5 anos ago

API json registro.br gratuita

Pra que precisa de uma API pra consultar domínios .br é só utilizar a pagina…

5 anos ago

ler a linha completa em um loop do for

Quando efetuamos um for em shellscript, por padrão ele considera como delimitador espaços, quebras de…

6 anos ago