Quando você alterna o nível de execução, as únicas coisas executadas são os scripts em /etc/rc.d/rc${NEW_LEVEL}.d/
.
Isso significa que você está certo: o diretório Every rc*.d
precisa ser capaz de lidar com todas as alterações de processo / serviço ao alternar de outro nível de execução. Portanto, todo diretório rc contém um conjunto completo de scripts para alcançar esse nível de execução.
Digamos que você esteja alternando para o nível de execução 3. Os scripts /etc/rc.d/rc3.d/K*
tentarão eliminar todos os processos em execução no que foi o nível de execução anterior (pode ser qualquer número) e /etc/rc.d/rc3.d/S*
scripts iniciarão qualquer processo que precise para ser iniciado (e já não foi iniciado no runlevel anterior).
Claramente, gerenciar todos esses links simbólicos seria um problema real, por isso há utilitários para ajudar a gerenciar isso. No Debian e no Ubuntu (pelo menos, talvez outros), você pode usar update-rc.d
para ativar / desativar seletivamente os scripts encontrados em /etc/init.d
, ou configurá-los para "padrão" ou configurações recomendadas para cada script. Isso criará e atualizará todos os links simbólicos para você, para refletir quaisquer alterações de configuração que você queira colocar em prática. No CentOS, eu entendo que você pode usar ntsysv
ou chkconfig
para fazer a mesma coisa.
Efetivamente, você nunca toca nos arquivos em /etc/rc*.d/
(ou /etc/rc.d/rc*.d/
) você mesmo; você sempre usa a ferramenta (por exemplo, update-rc.d
, ntsysv
, chkconfig
) para fazer alterações.