Este é meu primeiro artigo aqui na comunidade. Resolvi escrevê-lo devido a dificuldade que tive em encontrar material sobre esse assunto quando precisei saber como colocar um serviço na inicialização do Linux.
Para colocar um serviço na inicialização do Linux podemos utilizar uma ferramenta chamada ntsysv, porém é interessante saber como funciona executar esta tarefa manualmente.
Os serviços do Linux ficam no diretório /etc/rc.d/init.d. Na inicialização os serviços localizados no diretório /etc/rc.d/rc[n].d são inicializados ou parados. O [n] é o número correspondente ao run level, ou seja, é só adicionar um link do serviço para este diretório com a seguinte nomenclatura:
[S|K]56[nomedoserviço]
Sendo:
[S|N]: Isto quer dizer se o serviço ou programa deve ser iniciado ou não;
S: start (iniciar);
K: kill (matar, parar).
56: É o número da fila em que ele deverá ser executado, se o número for menor ele será executado antes que os outros serviços;
[nomedoserviço]: somente para identificação humana, não interfere em nada.
Pronto, para inicializar um script primeiro você copia este script para o /etc/init.d:
# cp /root/rotina.sh /etc/init.d
Depois crie um link simbólico para o diretório /etc/rc.d/rc.[n]d (para qual run level você quiser):
[2] Comentário enviado por forkd em 11/04/2006 - 00:51h
Olá Anderson!
Primeiramente, parabéns pela iniciativa de publicar um artigo. Bom, gostaria de expressar minhas opiniões sobre o artigo. Primeiramente, achei o artigo um pouco vago, pois depois que eu li, deu aquela sensação de que está faltando algo. Talvez um aprofundamento maior no assunto... Segundo, faltou dizer que o tipo de inicialização ao qual você se refere é o SysVInit, que é o tipo utilizado pelo Debian, Fedora e etc. O Slackware utiliza um misto de SysVInit com BSD Init, este último sendo utilizado nos BSDs. Por isso, para os usuários de slack, as coisas serão um pouco diferentes... Além disso, notei que faltou falar do comando chkconfig, que faz o gerenciamento dos links de serviços para inicializar. Por isso os usuários não têm de ficar criando links "a rodo". Mas acho interessante você mostrar como se faz manualmente, para que os leitores tenham noção de como funciona. Como é o seu primeiro artigo, parabéns mesmo! Continue melhorando, pois assim a comunidade toda cresce junto!
Falando no assunto, quem um artigo relacionado, que mostra como inicializar comandos no modo gráfico, voltado para o slack, pode ser acessado em: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4223
Bom, basicamente é isso.
Até mais! ;)
[3] Comentário enviado por mlegidio em 12/04/2006 - 01:40h
Ola Anderson,
Faz tempo que li sobre a adicao de scripts nos runlevels e que tinha caido um pouco no esquecimento. Seu artigo ja me fez lembrar de tudo. Espero poder ver outros artigos seus aki no VOL.
T+
[5] Comentário enviado por medlima em 12/04/2006 - 15:34h
eu tenho algumas dúvidas sobre o linux eu gostaria de instala-lo em uma maquina k62 233 mhz e pentium 2 mas não estou conseguindo instala-lo sem o cd. a versão do linux que possuo já esta em uma partição dentro do hd mas não consigo fazer a instalação do mesmo. me ajundem um abraço.
[6] Comentário enviado por sirelven em 12/04/2006 - 20:53h
Uma adição apenas. No Debian trabalha-se por padrão em runlevel 2 e a interface gráfica sobe neste mesmo runlevel como um serviço.
E a ferramenta utilizada é o update-rc.d, que cria os links automaticamente. EU particularmente acho que no Debian a inicialização é menos estruturada que nos Red Hats e similares. As respostas de comandos como /etc/init.d/postfix em geral é falha. Um exemplo disso é que se o serviço NÃO estiver rodando e executarmos o stop ele não acusa nada. Nem acerto nem falha. O mesmo se dá com o start em muitos programas.
Mas de qualquer forma, funciona da mesma maneira.
[7] Comentário enviado por PCMasterPB em 14/04/2006 - 01:07h
Só uma pequena dica, ao menos no Suse 9.3, se o cara tentar encontrar o tal /etc/rc.d/rc.local ele não vai encontrar, pois no Suse eles mudaram ele pra /etc/rc.d/boot.local, na realidade, o diretório rc.d é apenas um link para init.d, ficando em /etc/init.d/boot.local, mas nada impede que se crie também um link deste para /etc/rc.d/rc.local. Quem ae for usar o Suse 9.3, já fica sabendo ok. ;D
[9] Comentário enviado por franciane em 23/10/2008 - 17:48h
olá amigo, acho que voce pode me ajudar, eu quero que no meu slax, parece um banner, então fui neste caminho "/etc/rc.d/rc.local" e no final do arquivo escrevi a seguinte linha "cd /usr/local/bin/banner; python banners.py", se eu excutar este arquivo no prompt o banner aparece mas eu quero que ele seja executado durante o boot, o que voce me diz, está certo o meu procedimento, falta algo, pois o que eu fiz não funcionou.
[12] Comentário enviado por morais48 em 29/11/2015 - 11:06h
amigos me tirem uma duvida comprei uma maquina jukebox em linux em que o programa que roda as musicas inicia primeiro e gostaria de entrar na area de trabalho do linux ,qual seria o comando do teclado por favor