[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: rc.local(novamente)



Ciaon Moises
Moises Duque wrote:
Boa noite lista. Outro dia mandei uma mensagem perguntando onde colocar um script para ser startado na inicioalização. Disseram para eu colocar em /etc/rc.boot. No meu sistema não tinha este diretório, então criei o diretório e coloquei o scipt lá, mas não funcionou?


Moises Duque



Vamos primeiro estudar um pouquinho:
No boot serao inicializados somente processos que o kernel necessita e que nao sao build-in ( compilados no Kernel como modulos ). isto pode ser o caso do md ( soft-Raid manager ) ou modutils, hostname, initrd .. etc, coisas que o Kernel necessita antes mesmo de montar o "/". estes scripts estao em /etc/init.d e sao linkados para /etc/rcS.d ( e nao /etc/rc.boot )
execute:
#ls /etc/rcS.d/

voce vai ver como todos os links tem um nome que comeca com S ou K, um numero e um nome (normalmente o nome do script em /etc/init.d).
S significa Start, K Kill.
O numero serve para ordenar os servicos ( S01 vem antes do S20 !!)

Agora...
nao adianta nada inicializar digamos nfs antes mesmo que o kernel tenha reconhecido a placa de rede, configurado ela e inicializado a rede..
portanto normalmente, nao se mexe no /etc/rcS.d.

execute:
# ls -d /etc/rc[0-9].d


voce vai ver que existem varios diretorios /etc/rc<numero>.d:
/etc/rc0.d /etc/rc1.d /etc/rc2.d /etc/rc3.d /etc/rc4.d /etc/rc5.d /etc/rc6.d

execute:
# runlevel
o retorno sera algo como N <numero>

este numero tem referencia com o init ( man init, man runlevel )

Por fim ..

Quando quizeres automaticamente que um script seja executado quando o Kernel ja bootou:

veja qual o teu runlevel e crie um link para /etc/rc<runlevel>.d:

p.ex:
#runlevel
N 2
# ln -s /etc/init.d/AloMundo /etc/rc2.d/S60AloMundo


Ta bao ??

Abracos

Marlon




















Reply to: