Rc.Local é um script obsoleto mantido para fins de compatibilidade para sistemas Systemv.
Era uma vez um arquivo universal presente na maioria das distribuições Linux devido à sua simplicidade para os administradores do Linux definirem scripts de inicialização ou serviços adicionais para iniciar.
O arquivo rc.Local não contém informações sobre componentes de inicialização do sistema, mas apenas componentes definidos por superusuário/root. No entanto, nem todos os programas de inicialização de raiz são descritos em RC.local, mas apenas aqueles que não interferem nos componentes do sistema. Geralmente, rc.Local é executado após o início dos serviços normais.
Sistemas Linux mais recentes, incluindo Systemd, substituíram o RC.script local, mas pode ser restaurado, apesar sendo uma solução recomendada. Este tutorial mostra como restaurar e usar o RC.script local e uso rc-local by systemd em distribuições mais recentes do Linux.
Habilitando /etc /rc.Local em Distribuições Linux usando o Systemd:
IMPORTANTE: É importante lembrar /etc /rc.Local é descontinuado e substituído. O método atual para executar scripts na inicialização é descrito após as instruções para ativar /etc /rc.local. Este tutorial é destinado a usuários com necessidades específicas.
Para começar, crie o arquivo /etc/rc.local Usando o editor que você deseja e sudo (ou raiz):
nano /etc /rc.local
Cole o código abaixo no arquivo e substitua Com o comando que você deseja executar na startup. Não use sudo. Se um comando incluído neste script não executar, o serviço que chamará RC.Local (RC-Local.serviço) falhará.
#!/bin/sh -e
#
# rc.local
#
# Este script é executado no final de cada nível de running multiuser.
# Verifique se o script "sairá 0" sobre o sucesso ou qualquer outro
# valor no erro.
#
# Para ativar ou desativar este script, basta alterar a execução
# bits.
#
# Por padrão, este script não faz nada.
saída 0
No meu exemplo, vou usar o RC.Script local para atualizar o banco de dados Security Scan Vuls sempre que o sistema inicia. Você pode escrever qualquer script que deseja ser executado no início, exceto para scripts de rede (como iptables) que podem interferir no processo de inicialização normal e ter seus próprios scripts ou diretórios de inicialização.
Salve o arquivo (Ctrl+x e Y) e dê permissões de execução executando o comando abaixo:
sudo chmod +x /etc /rc.local
Crie o arquivo /etc/Systemd/System/RC-Local.serviço, correr:
nano/etc/systemd/system/rc-local.serviço
Cole os seguintes comandos e salvando, pressionando pressionando Ctrl+x e Y.
Execstart =/etc/rc.início local
TimeoutSec = 0
StandardOutput = tty
Permaneceftexit = sim
SysvstartPriority = 99
[Instalar]
WantedBy = MultiUser.alvo
Ativar rc-local:
sudo systemctl Ativar rc-local
Agora você pode começar o rc-local.serviço, que lerá o /etc /rc.arquivo local. Execute o comando mostrado abaixo:
SystemCTL START RC-LOCAL.serviço
Você pode verificar se o RC-Local foi carregado corretamente executando o seguinte:
status do SystemCTL rc-local.serviço
A maneira correta (Systemd):
O processo descrito acima é antigo, obsoleto e pode travar alguns serviços.
Esta seção mostra o processo atual para iniciar scripts ou serviços na inicialização para distribuições Linux usando o Systemd.
Systemd é um gerente de serviços que atribui grupos de controle de serviços (CGROUP) e rastreia processos. Systemd é o processo (PID) 1 Responsável pela inicialização do sistema.
Para adicionar serviços ou scripts na startup, você precisa criar um Unidade Systemd.
As unidades Systemd incluem serviços (.serviço), pontos de montagem (.montar), dispositivos (.dispositivo) ou soquetes (.soquete). Ao contrário do processo antigo descrito anteriormente com RC.Local, em vez de editar o mesmo arquivo que contém informações sobre scripts de usuário, você precisa criar uma unidade de serviço Systemd para cada script que você deseja executar na inicialização.
As unidades Systemd estão localizadas em /etc/Systemd/System, E é aí que precisamos criar a unidade Systemd para o script que queremos executar na inicialização.
A imagem a seguir mostra o conteúdo da unidade TeamViewer.serviço.
Onde as diretivas [da unidade]:
Algumas diretivas usadas na seção [Serviço] podem ser compartilhadas com [unidade].
A única diretiva [install] no exemplo acima é desejada.
Observação: Você pode verificar todas as diretivas do Systemd em
https: // www.Freedesktop.org/software/systemd/man/systemd.diretivas.html
Adicionando sua própria unidade Systemd:
Para executar um script na startup, crie -o sob /etc/Systemd/System com seu nome seguido por um ponto e serviço, por exemplo, Linuxhint. Serviço. Você pode usar o Nano como na amostra a seguir:
Cole o seguinte, substituindo <Nome ou descrição do script> com uma descrição do seu script e onde /usr/sbin/linuxhint.sh Escreva o caminho correto.
[Unidade]
Descrição ==