No Linux, existe um equivalente rc.local para o desligamento?

10

Eu tenho alguns comandos nos quais executo rc.localpara que sejam executados por último na sequência de inicialização. Gostaria de saber se existe um recurso semelhante para desfazer os resultados desses comandos no desligamento, como um rc.shutdown. Idealmente, ele seria executado antes de qualquer outro /etc/init.dscript.

kbyrd
fonte
3
Isso é altamente dependente da distribuição. Adicione informações sobre sua distribuição.
rozcietrzewiacz

Respostas:

8

Não realmente (pelo menos, que eu saiba).

Se você possui scripts de inicialização no estilo SystemV, pode criar algo como /etc/rc6.K00scriptnamee /etc/rc0.d/K00scriptname, que deve ser executado antes de qualquer outro script existente.

Matt Simmons
fonte
4

O ArchLinux tem um /etc/rc.local.shutdownarquivo para isso. Não tenho certeza sobre outras distros

Stefan
fonte
2

Geralmente é possível, mas depende do sistema de scripts init que você possui. Se sua distribuição usou uma versão recente do OpenRC (como o Gentoo), você pode colocar qualquer script /etc/local.d/, chamá-los <something>.stope eles serão executados no desligamento do sistema. Para versões mais antigas, você tem que colocar seus comandos dentro local_stop()função no /etc/conf.d/local.

A ordem depende das configurações do sistema rc, mas geralmente os scripts locais são os últimos a serem executados na inicialização e os primeiros a serem desligados.

rozcietrzewiacz
fonte
1

Se você tiver iniciado, poderá capturar o evento shutdown e executar um script quando capturado.

txwikinger
fonte
1

No Gentoo, o script "local" faz exatamente o que você pede: Executa certos comandos especificados pelo usuário no 'start' e outro conjunto de comandos no 'stop'.

tante
fonte