Como colocar um programa para inicializar no boot
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.
Entendendo a inicialização
Os processos de inicialização do Linux são chamados de run levels, ou níveis de execução. Estes níveis vão de 0 a 6, sendo que cada nível carrega seus serviços específicos ou modificados pelo administrador do sistema.
O processo init é o pai de todos os processos no Linux. O init entra em seu run level, que logo após chama o arquivo rc.sysinit. O rc.sysinit carrega as configurações básicas do sistema como: nome da máquina, carrega partições do sistema...
- 0: Desliga;
- 1: Modo Single (monousuário);
- 2: Modo multiusuário sem NFS;
- 3: Modo multiusuário com suporte a NFS;
- 4: Não utilizado;
- 5: Com interface gráfica;
- 6: Reinicializa.
O processo init
O processo init é o pai de todos os processos no Linux. O init entra em seu run level, que logo após chama o arquivo rc.sysinit. O rc.sysinit carrega as configurações básicas do sistema como: nome da máquina, carrega partições do sistema...
Páginas do artigo
1. Entendendo a inicialização2. Adicionando arquivos ou scripts na inicialização
3. Adicionado serviços na inicialização
Outros artigos deste autor
Nenhum artigo encontrado.Leitura recomendada
Tema com cores vivas para Xfce no Xubuntu 12.04
Tint2 - Split TaskBar com Dual Monitor
Porque o RedHat 9 tem problemas com teclados US-International?
Comentários
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! ;)
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! ;)
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+
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+
justo o que eu estava precisando! Estava com um problema sério para adicionar um script de firewall.... valeu ae!!!
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.
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.
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.
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
Parabén Jeff,
se metade dos artigos, confs, e tutoriais tivessem a qualidade do seu estaríamos muito bem.
Angelo
se metade dos artigos, confs, e tutoriais tivessem a qualidade do seu estaríamos muito bem.
Angelo
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.
vlw
at+
vlw
at+
Obrigado, é exatamente o que eu precisava.
Obrigado por seu artigo. Me ajudou bastante.
Abs,
José Oliveira
Abs,
José Oliveira
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
só adicionando...
o runlevel 4 no slackware seria com interface gráfica, o 5 e o 2 ficaria sem uso, nos demais é igual.
parabéns pelo artigo
flw