Sie sind auf Seite 1von 44

http://tldp.org/HOWTO/BootPrompt-HOWTO.

html

https://access.redhat.com/site/documentation/pt-
BR/Red_Hat_Enterprise_Linux/6/html/Installation
_Guide/s1-grub-runlevels.html


Viso geral
Neste artigo, aprenda a encerrar ou reinicializar seu sistema Linux, avisar a
usurios que o sistema est sendo desligado e alternar para um nvel de
execuo mais ou menos restritivo. Aprenda a:
Configurar o nvel de execuo padro
Alternar entre nveis de execuo
Alternar para modo de usurio nico
Encerrar ou reinicializar o sistema a partir da linha de comando
Alertar usurios sobre eventos de sistema importantes, incluindo
alterao do nvel de execuo
Terminar processos apropriadamente
A menos que disposto em contrrio, os exemplos neste artigo usam um
sistema Fedora 8 com um kernel 2.6.26. Os exemplos do upstart usam Fedora
13 com kernel 2.6.34 ou Ubuntu 10.10 com kernel 2.6.35. Os resultados em
outros sistemas podem variar.
Este artigo o ajuda a se preparar para o Objetivo 101.3 do Tpico 101 do
exame 101 do Linux Professional Institute Junior Level Administration (LPIC-1).
O objetivo tem um peso 3.
Pr-requisitos
Para obter o mximo dos artigos nesta srie, necessrio ter um
conhecimento bsico do Linux e um sistema Linux funcional para praticar os
comandos cobertos neste artigo. s vezes, verses diferentes de um programa
formatam a sada de forma diferente; portanto, os seus resultados podem no
ser exatamente iguais s listagens e figuras mostradas aqui. Em especial, o
novo sistema upstart est alterando muitas coisas que podem ser familiares a
usurios do tradicional processo de iniciao System V (consulte Init vs.
Upstart para ver os detalhes). Este artigo direcionado especificamente ao
processo de iniciao System V tradicional, com apenas uma viso geral
superficial das diferenas em relao ao upstart.
Voltar para parte superior
Nveis de execuo
Comunique-se com o Ian
Ian um dos nossos autores mais populares e prolficos. Navegue por todos os
artigos do Ian no developerWorks. Confira perfil do Ian e comunique-se com
ele, outros autores e leitores no My developerWorks.
Nveis de execuo definem quais tarefas podem ser realizadas no estado (ou
nvel de execuo) atual de um sistema Linux. Cada sistema Linux suporta trs
nveis de execuo bsicos, mais um ou mais nveis para operao normal. Os
nveis de execuo bsicos so mostrados na Tablela 1.
Tablela 1. Nveis de execuo bsicos do Linux
Nvel Propsito
0 Encerrar (ou parar) o sistema
1 Modo de usurio nico; geralmente com os
alias s ou S
6 Reinicializar o sistema
Alm do bsico, o uso de nveis de execuo diferente nas distribuies. Um
conjunto comum de uso mostrado na Tablela 2.
Tablela 2. Outros nveis de execuo comuns do Linux
Level Propsito
2 Modo de multiusurio sem rede
3 Modo de multiusurio com rede
5 Modo de multiusurio com rede e com o X Window
System
A distribuio Slackware usa o nvel de execuo 4 em vez do 5 para um
sistema completo executando X Window system. Debian e derivados, como
Ubuntu, usam um nico nvel de execuo para o modo de multiusurio,
geralmente o nvel 2. Consulte a documentao para sua distribuio.
Voltar para parte superior
Nvel de execuo padro
Quando um sistema Linux iniciado, o nvel de execuo padro
determinado a partir da entrada id: em /etc/inittab. Lista 1 exemplifica uma
entrada tpica para um sistema como Fedora 8 ou openSUSE 11.2. Ambos os
sistemas usam o nvel de execuo 5 para o X Window System.
Lista 1. Nvel de execuo padro em /etc/inittab
[root@pinguino ~]# grep "^id:"
/etc/inittab id:5:initdefault:
Edite esse valor se desejar que seu sistema inicie em um nvel de execuo
diferente, por exemplo, nvel 3.
Voltar para parte superior
Alterando nveis de execuo
H vrias maneiras de alterar nveis de execuo. Para fazer uma alterao
permanente, possvel editar /etc/inittab e alterar o nvel padro, como voc
acaba de ver acima.
Se voc precisar apenas iniciar o sistema em um nvel de execuo diferente
para um nico boot, possvel fazer isso. Por exemplo, suponha que voc
acaba de instalar um novo kernel e precisa criar alguns mdulos aps o
sistema iniciar com o novo kernel, mas antes de iniciar o X Window System.
possvel colocar o sistema no nvel de execuo 3 para isso. Esse
procedimento feito no momento do boot, editando a linha do kernel (GRUB)
ou incluindo um parmetro aps o nome do sistema selecionado (LILO). Use
uma nica linha para especificar o nvel de execuo desejado (3, neste caso).
Vamos dar um exemplo do GRUB. Suponha que seu arquivo
/boot/grub/menu.lst contenha a sub-rotina mostrada na Lista 2.
Lista 2. Sub-rotina tpica do GRUB para boot do Fedora 8
title Fedora (2.6.26.8-57.fc8)
root (d!"5)
#ernel $%oot$&'linu(-2.6.26.8-57.fc8 ro root)*+,-*)F-./0+8 rg% 1uiet
initrd $%oot$initrd-2.6.26.8-57.fc8.i'g
Para colocar esse sistema no nvel de execuo 3, espere at que as entradas
de boot sejam exibidas, selecione esta entrada e digite "e" para editar a
entrada. Dependendo das opes de seu GRUB, pode ser necessrio
pressionar uma tecla para exibir as entradas de boot e tambm digitar "p" e
uma senha para desbloquear a edio. A tela do GRUB no nosso sistema
Fedora 8 tem o visual mostrado na Figura 1.
Figura 1. Selecionando uma opo de boot no GRUB

Neste exemplo, voc deve ver agora as linhas root, kernel e initrd. Mova o
cursor at a linha comeando com "kernel" e pressione "e" para edit-la. A tela
do GRUB no nosso sistema Fedora 8 agora tem o visual mostrado na Figura 2.
Figura 2. Selecionando a entrada do kernel para edio

Por fim, mova o cursor para o final da linha e inclua um espao e o dgito "3".
Voc pode remover "quiet" ou modificar qualquer outro parmetro, conforme
desejar. A tela do GRUB no nosso sistema Fedora 8 agora tem o visual
mostrado na Figura 3.
Figura 3. Configurando para iniciar no nvel de execuo 3

Por fim, pressione Enter para salvar as alteraes e digite "b" para fazer o boot
do sistema.
Observao: As etapas para fazer isso usando LILO ou GRUB2 so diferentes
das etapas do GRUB, mas o princpio bsico de edio da maneira como o
kernel iniciado o mesmo. Mesmo telas do GRUB em outros sistemas ou
outras distribuies podem ter uma aparncia bem diferente daquelas
mostradas aqui. Geralmente estaro disponveis prompts para ajud-lo.
Aps concluir seu trabalho de configurao no nvel de execuo 3, voc
provavelmente ir querer alterar para o nvel 5. Felizmente, no necessrio
reiniciar o sistema. possvel usar o comando telinit para alternar para outro
nvel de execuo. Use o comando runle&el para mostrar o nvel de execuo
anterior e o atual. Se o primeiro caractere da sada for "N", o nvel de execuo
no foi alterado desde que o sistema foi iniciado. Lista 3 demonstra a
verificao e alterao do nvel de execuo.
Lista 3. Verificando e alterando o nvel de execuo
[root@pinguino ~]# runlevel 2 3
[root@pinguino ~]# telinit 5
Aps inserir telinit 5, voc ver vrias mensagens aparecerem brevemente,
e seu monitor ir alternar para a tela de login grfico configurada. Abra uma
janela de terminal e verifique se o nvel de execuo foi alterado, como mostra
a Lista 4.
Lista 4. Confirmando o novo nvel de execuo
[root@pinguino ~]# runlevel 3 5
Se voc usar o comando l4 para exibir uma listagem longa do
comando telinit, voc ver que se trata, na verdade, de um link simblico
para o comando init. Ns demonstramos isso na Lista 5
Lista 5. telinit na verdade um link simblico para init
[root@pinguino ~]# ls -l $(which
telinit) lr56r56r56 7 root root 8 2!!8-!8-!7 !7:5! $4%in$telinit
-9 init
O executvel init sabe se foi chamado como init ou telinit e se comporta
de acordo. Como init executado com o PID 1 no momento do boot, tambm
inteligente o suficiente para saber quando voc posteriormente o chama
usando init em vez de telinit. Nesse caso, ele supe que voc quer que ele
se comporte como se voc tivesse chamado telinit no lugar. Por exemplo,
possvel usar init 5 ao invs detelinit 5 para alternar para o nvel de
execuo 5.
Voltar para parte superior
Modo de usurio nico
Ao contrrio de sistemas operacionais de computadores pessoais, como DOS
ou Windows, o Linux inerentemente um sistema de multiusurio. Entretanto,
pode haver momentos nos quais isso um problema, como quando
necessrio recuperar um importante sistema de arquivos ou banco de dados ou
instalar e testar novo hardware. O nvel de execuo 1, ou modo de usurio
nico, sua resposta para essas situaes. A implementao real varia de
acordo com a distribuio, mas geralmente se inicia em um shell com apenas
um sistema mnimo. Geralmente no h rede e no h daemons em execuo
(ou h muito poucos). Em alguns sistemas, preciso autenticar fazendo login,
mas em outros se vai direto para a linha de comando do shell como usurio
raiz. O modo de usurio nico pode salvar sua vida, mas tambm pode destruir
seu sistema, portanto sempre tenha cuidado ao executar com autoridade de
raiz. Reinicialize para o modo de multiusurio normal assim que concluir.
Assim como a alterao para nveis de execuo de multiusurio regulares,
tambm preciso alterar para modo de usurio nico usandotelinit 7. Como
observado na Tablela 1, "s" e "S" so alias do nvel de execuo 1, portanto
possvel, por exemplo, usar telinit 4.
Voltar para parte superior
Encerramento normal
Embora seja possvel usar telinit ou init para interromper a atividade de
multiusurio e alternar para o modo de usurio nico, isso pode ser repentino
demais e pode fazer com que os usurios percam seu trabalho e que
processos terminem de maneira anormal. O mtodo preferencial de encerrar ou
reinicializar o sistema usando o comando 4utdo5n, que primeiro envia uma
mensagem de aviso a todos os usurios conectados e bloqueia logins
posteriores. Em seguida, ele sinaliza o init para que altere o nvel de
execuo. O processo init envia ento um sinal SIGTERM a todos os
processos em execuo, dando a eles uma chance de salvar os dados ou
terminar adequadamente de outra maneira. Aps 5 segundos, ou outro perodo
especificado, init envia um sinal SIGKILL para forar o trmino de qualquer
processo remanescente.
Por padro, 4utdo5n alterna para o modo de execuo 1 (modo de usurio
nico). possvel especificar a opo - para parar o sistema, ou a opo -
r para reinicializar. Uma mensagem padro emitida, alm de qualquer
mensagem que voc especificar. O horrio pode ser especificado como um
horrio absoluto no formato hh:mm, ou um horrio relativo, n, no qual n o
nmero de minutos at o encerramento. Para encerramento imediato, use now,
que equivalente a +0.
Se um encerramento com atraso tiver sido emitido e o tempo ainda no tiver
expirado, possvel cancelar pressionando Ctrl-c , se o comando estiver
sendo executado em primeiro plano, ou emitindo 4utdo5n com a opo -
c para cancelar um encerramento pendente. Lista 6 mostra vrios exemplos do
uso de 4utdo5n, bem como as maneiras de cancelar o comando.
Lista 6. Exemplos de encerramento
[root@pinguino ~]# shutdown 5 File system recovery needed

,roadca4t 'e44age fro' root (pt4$7) (:ue ;an 8 !8:!5:28 2!77):

File 4<4te' reco&er< needed :e 4<4te' i4 going ./=2 to 'aintenance 'ode in 5
'inute4>
^C
?utdo5n cancelled.
[root@pinguino ~]# shutdown -r 10 Reloading updated kernel&
[7] 78788
[root@pinguino ~]#

,roadca4t 'e44age fro' root (pt4$7) (:ue ;an 8 !8:!5:53 2!77):

0eloading updated #ernel
:e 4<4te' i4 going ./=2 for re%oot in 7! 'inute4>

[root@pinguino ~]#fg
4utdo5n -r 7! 0eloading updated #ernel
@A ?utdo5n
cancelled.
[root@pinguino ~]# shutdown -h 23:59&
[7] 78788
[root@pinguino ~]# shutdown -c

?utdo5n cancelled.
[7]B .one 4utdo5n - 23:5C
Voc deve ter notado que nosso ltimo exemplo no fez com que uma
mensagem de aviso fosse enviada. Se o horrio at o encerramento exceder
15 minutos, a mensagem no enviada at 15 minutos antes do evento, como
mostra a Lista 7. Lista 7 tambm mostra o uso da opo-t para aumentar o
tempo padro entre os sinais SIGTERM e SIGKILL de 5 para 60 segundos.
Lista 7. Outro exemplo de encerramento
[root@pinguino ~]# date;shutdown -t60 17 Time to
do backups& :ue ;an 8 !8:72:55 -?: 2!77 [7] 78825
[root@pinguino ~]# date :ue ;an 8 !8:78:73 -?: 2!77 [root@pinguino
~]# ,roadca4t 'e44age fro' root (pt4$7) (:ue ;an 8 !8:78:55 2!77):
:i'e to do
%ac#up4 :e 4<4te' i4 going ./=2 to 'aintenance 'ode in 75 'inute4>
Se voc cancelar um encerramento, deve usar o comando 5all para enviar um
aviso a todos os usurios de que o sistema no ir ser encerrado.
Como dissemos anteriormente, tambm possvel usar telinit (ou init) para
encerrar ou reinicializar o sistema. Como em outros usos detelinit, no
enviado um aviso aos usurios, e o comando tem efeito imediato, embora
ainda haja uma demora entre os sinais SIGTERM e SIGKILL. Para ver opes
adicionais de telinit, init e 4utdo5n, consulte as man pages apropriadas.
Voltar para parte superior
Parada, reinicializao e desligamento
Voc deve aprender mais alguns comandos relacionados ao encerramento e
reinicializao.
O comando alt para o sistema.
O comando po5eroff um link simblico para o comando alt, que
para o sistema e tenta deslig-lo.
O comando re%oot outro link simblico para o comando alt, que
para o sistema e o reinicia.
Se qualquer um desses for chamado quando o sistema no estiver no nvel de
execuo 0 ou 6, o comando 4utdo5n correspondente ser chamado em seu
lugar.
Para ver opes adicionais que podem ser usadas com esses comandos, bem
como informaes mais detalhadas sobre sua operao, consulte a man page.
Voltar para parte superior
/etc/inittab
Agora voc deve estar se perguntando por que pressionar Ctrl-Alt-Delete em
alguns sistemas causa uma reinicializao ou como tudo isso de nvel de
execuo configurado. Voc se lembra do campo D. em /etc/inittab? Bem, h
vrios outros campos em /etc/inittab e um conjunto de scripts de inicializao
em diretrios como rc1.d ou rc5.d, nos quais o dgito identifica o nvel de
execuo aos quais os scripts naquele diretrio se aplicam. Lista 8 mostra o
inittab completo de nosso sistema Fedora 8.
Lista 8.
#
# initta% :i4 file de4cri%e4 o5 te D2D: proce44 4ould 4et up
# te 4<4te' in a certain run-le&el.
#
# +utor: Ei1uel &an ?'ooren%urg" F'i1uel4@drin#el.nl.'ugnet.org9
# Eodified for 0G? *inu6 %< Earc -5ing and .onnie ,arne4
#

# .efault runle&el. :e runle&el4 u4ed %< 0G? are:
# ! - alt (.o 2/: 4et initdefault to ti4)
# 7 - ?ingle u4er 'ode
# 2 - Eultiu4er" 5itout 2F? (:e 4a'e a4 3" if <ou do not a&e net5or#ing)
# 3 - Full 'ultiu4er 'ode
# 8 - unu4ed
# 5 - H77
# 6 - re%oot (.o 2/: 4et initdefault to ti4)
#
id:5:initdefault:

# ?<4te' initiali(ation.
4i::4<4init:$etc$rc.d$rc.4<4init

l!:!:5ait:$etc$rc.d$rc !
l7:7:5ait:$etc$rc.d$rc 7
l2:2:5ait:$etc$rc.d$rc 2
l3:3:5ait:$etc$rc.d$rc 3
l8:8:5ait:$etc$rc.d$rc 8
l5:5:5ait:$etc$rc.d$rc 5
l6:6:5ait:$etc$rc.d$rc 6

# :rap A:0*-+*:-.-*-:-
ca::ctrlaltdel:$4%in$4utdo5n -t3 -r no5

# =en our IJ? tell4 u4 po5er a4 failed" a44u'e 5e a&e a fe5 'inute4
# of po5er left. ?cedule a 4utdo5n for 2 'inute4 fro' no5.
# :i4 doe4" of cour4e" a44u'e <ou a&e po5erd in4talled and <our
# IJ? connected and 5or#ing correctl<.
pf::po5erfail:$4%in$4utdo5n -f - B2 KJo5er FailureL ?<4te' ?utting .o5nK

# Df po5er 5a4 re4tored %efore te 4utdo5n #ic#ed in" cancel it.
pr:72385:po5ero#5ait:$4%in$4utdo5n -c KJo5er 0e4toredL ?utdo5n AancelledK


# 0un gett<4 in 4tandard runle&el4
7:2385:re4pa5n:$4%in$'ingett< tt<7
2:2385:re4pa5n:$4%in$'ingett< tt<2
3:2385:re4pa5n:$4%in$'ingett< tt<3
8:2385:re4pa5n:$4%in$'ingett< tt<8
5:2385:re4pa5n:$4%in$'ingett< tt<5
6:2385:re4pa5n:$4%in$'ingett< tt<6

# 0un 6d' in runle&el 5
6:5:re4pa5n:$etc$H77$prefd' -nodae'on
Como sempre, as linhas que comeam com # so comentrios. Outras linhas
tm vrios campos com o seguinte formato:
id:runle&el4:action:proce44
id
um identificador exclusivo de um a quatro caracteres. Verses mais
antigas limitavam isso a dois caracteres, por isso voc ver geralmente
apenas dois caracteres usados.
runlevels
lista os nveis de execuo nos quais a ao deste ID deve ser
realizada. Se no forem listados nveis de execuo, realiza a ao em
todos os nveis.
action
descreve qual das vrias aes possveis deve ser realizada
process
diz qual processo, se for o caso, deve ser executado quando a ao
nesta linha realizada.
Algumas das aes comuns que podem ser especificadas em /etc/inittab so
mostradas na Tablela 3. Consulte as man pages do inittab para ver outras
possibilidades.
Tablela 3. Algumas aes comuns de inittab
Ao Propsito
respawn Reinicia o processo quando ele terminar.
Usado geralmente para processos getty, que
monitoram logins.
Ao Propsito
wait Inicia o processo ao entrar no nvel de
execuo especificado e espera por seu
trmino antes que o init continue.
once Inicia o processo uma vez ao entrar no nvel
de execuo especificado.
initdefault Especifica o nvel de execuo no qual entrar
aps o boot do sistema.
ctrlaltdel Executa o processo associado quando init
receber o sinal SIGINT, por exemplo, quando
algum no console do sistema pressionar
CTRL-ALT-DEL.
Lista 9 mostra apenas a entrada do Ctrl-Alt-Delete da Lista 8. Agora voc
entende por que pressionar Ctrl-Alt-Delete faz com que o sistema seja
reinicializado.
Lista 9. Trap do Ctrl-Alt-Delete
# :rap A:0*-+*:-.-*-:- ca::ctrlaltdel:$4%in$4utdo5n
-t3 -r no5
Voltar para parte superior
Scripts de inicializao
Voc pode ter observado vrias linhas na Lista 8, tais como
l5:5:5ait:$etc$rc.d$rc 5
Neste exemplo, init ir executar o script (ou comando) $etc$rc.d$rc com o
parmetro 5 sempre ao entrar no nvel de execuo 5. init ir esperar que
esse comando seja concludo antes de fazer qualquer outra coisa.
Esses scripts usados pelo init ao iniciar o sistema, alterar o nvel de execuo
ou encerrar so geralmente armazenados no diretrio /etc/init.d ou /etc/rc.d.
Uma srie de links simblicos nos diretrios rcn.d, um diretrio para cada nvel
de execuo n, controla se um script iniciado ao entrar em um nvel de
execuo ou interrompido ao deix-lo. Esses links comeam com um K ou um
S, seguidos de um nmero de dois dgitos e do nome do servio, como mostra
a Lista 10.
Lista 10. Scripts do init
[root@pinguino ~]# find /etc -path "*rc[0-9]*.d/???au*"
$etc$rc.d$rc2.d$?27auditd $etc$rc.d$rc2.d$M72autof4 $etc$rc.d$rc8.d$?27auditd
$etc$rc.d$rc8.d$?28autof4 $etc$rc.d$rc5.d$?27auditd $etc$rc.d$rc5.d$?28autof4
$etc$rc.d$rc!.d$M72autof4 $etc$rc.d$rc!.d$M73auditd $etc$rc.d$rc6.d$M72autof4
$etc$rc.d$rc6.d$M73auditd $etc$rc.d$rc7.d$M72autof4 $etc$rc.d$rc7.d$M73auditd
$etc$rc.d$rc3.d$?27auditd $etc$rc.d$rc3.d$?28autof4 [root@pinguino ~]# cd
$etc$rc.d$rc5.d [root@pinguino rc5.d]# l4 -l NNNaO lr56r56r56 7 root root 76
2!!8-!8-!7 77:2C ?27auditd -9 ..$init.d$auditd lr56r56r56 7 root root 76
2!!8-!8-!7 !7:57 ?28autof4 -9 ..$init.d$autof4 lr56r56r56 7 root root 75
2!!8-!8-!7 78:!3 ?88acpid -9 ..$init.d$acpid lr56r56r56 7 root root 73
2!!8-!8-!7 !7:5! ?C5atd -9 ..$init.d$atd lr56r56r56 7 root root 22 2!!8-!8-!7
!7:58 ?C6a&ai-dae'on -9 ..$init.d$a&ai-dae'on lr56r56r56 7 root root 77
2!!8-77-77 73:8! ?CCanacron -9 ..$init.d$anacron
Pode-se observar aqui que os servios audit e autof4 tm entradas Knn em
todos os nveis de execuo, e entradas Snn nos nveis de execuo 3 e 5. O
S indica que o servio deve ser iniciado ao entrar no nvel de execuo,
enquanto a entrada K indica que ele deve ser interrompido. O
componente nn do nome do link indica a ordem de prioridade na qual o servio
deve ser iniciado ou interrompido. Neste exemplo, audit iniciado antes
de autof4, e interrompido depois.
Consulte as man pages do init e initta% para obter mais informaes.
Voltar para parte superior
Init vs. Upstart
Como vimos aqui, o mtodo tradicional de boot em um sistema Linux
baseado no processo de inicializao System V do UNIX. Ele envolve carregar
um disco de RAM inicial (initrd) e passar o controle para um programa
chamado init, um programa que geralmente instalado como parte do pacote
sysvinit. O programa init executa uma srie de scripts em uma ordem
predefinida para ativar o sistema. Se algo esperado no est disponvel, o
processo init geralmente espera at que esteja. Embora isso funcione
adequadamente em sistemas nos quais tudo conhecido e conectado quando
eles so iniciados, sistemas modernos com dispositivos hot plug, sistemas de
arquivo de rede e at interfaces de rede que podem no estar disponveis no
momento da iniciao apresentam novos desafios. Certamente, esperar por
hardware que pode no estar disponvel por um longo perodo, ou mesmo por
um perodo apenas relativamente longo, no desejvel.
Um processo de inicializao alternativo chamado upstart foi introduzido no
Ubuntu 6.10 ("Edgy Eft") em 2006. Ele substituiu o processo init no Ubuntu e no
Fedora, entre outros, embora ainda haja vestgios do init, e embora o poder
completo do upstart ainda no seja atingido por algum tempo.
Ao contrrio do conjunto esttico de scripts de inicializao usado em sistemas
anteriores, o sistema upstart conduzido por eventos. Eventos podem ser
acionados por mudanas no hardware, incio ou interrupo de tarefas, ou por
outros processos no sistema. Eventos so usados para
acionar tarefas ou servios, conhecidos coletivamente como tarefas. Por
exemplo, a conexo de uma unidade USB pode fazer com que o servio udev
envie um evento block-device-added, o que faria com que uma tarefa definida
verificasse /etc/fstab e montasse a unidade, se apropriado. Outro exemplo: um
servidor da Web Apache pode ser iniciado apenas quando os recursos
necessrios de rede e de sistema de arquivos estejam disponveis.
O programa de inicializao do upstart substitui /sbin/init. Tarefas do upstart
so definidas no diretrio /etc/init e seus subdiretrios. O sistema upstart
processa atualmente /etc/inittab e scripts de inicializao System V. Em
sistemas como as liberaes recentes do Fedora, /etc/inittab provavelmente
contm apenas a entrada de ID da ao initdefault. Sistemas Ubuntu recentes
no tm /etc/inittab por padro, mas possvel criar um se voc quiser
especificar um nvel de execuo padro.
Upstart tambm tem o comando initctl para permitir interao com o daemon de
iniciao do upstart. Isso permite iniciar ou interromper tarefas, list-las, obter
seus status, emitir eventos, reiniciar o processo de iniciao e assim por diante.
Lista 11 mostra como usar initctl para obter uma lista de tarefas do upstart
em um sistema Fedora 13.
Lista 11. Interagindo com o daemon de iniciao do upstart usando initctl
[ian@ecidna ~]P initctl list
rc 4top$5aiting
tt< ($de&$tt<3) 4tart$running" proce44 7886
tt< ($de&$tt<2) 4tart$running" proce44 7888
tt< ($de&$tt<6) 4tart$running" proce44 78C2
tt< ($de&$tt<5) 4tart$running" proce44 78C!
tt< ($de&$tt<8) 4tart$running" proce44 7888
pl<'out-4utdo5n 4top$5aiting
control-alt-delete 4top$5aiting
4<4te'-4etup-#e<%oard 4tart$running" proce44 7!!!
readaead-collector 4top$5aiting
&pnc-cleanup 4top$5aiting
1uit-pl<'out 4top$5aiting
rc? 4top$5aiting
prefd' 4tart$running" proce44 787C
init-4<4te'-d%u4 4top$5aiting
c#-log-4<4te'-re4tart 4top$5aiting
readaead 4top$5aiting
c#-log-4<4te'-4tart 4top$5aiting
4tart-tt<4 4top$5aiting
readaead-di4a%le-4er&ice4 4top$5aiting
c#-log-4<4te'-4top 4top$5aiting
rc?-4ulogin 4top$5aiting
4erial 4top$5aiting
Para saber mais sobre o upstart, consulte Recursos.
Sua introduo a nveis de execuo, encerramento e reinicializao do Linux
est concluda.

F.4. Nveis de Execuo SysV Init
O sistema nvel de execuo SysV init oferece um processo padro para controlar quais
programas o init lana ou suspende ao inicializar um nvel de execuo. O SysV init foi
escolhido porque mais fcil de usar e mais flexvel do que processos init do tipo !S" mais
tradicionais.
Os arquivos de configurao para o SysV init esto localizados no diret#rio /etc/rc.d/.
$este diret#rio% encontram&se os scripts rc% rc.local% rc.sysinit% e%
opcionalmente% rc.serial% 'em como os seguintes diret#rios(
init.d/ rc0.d/ rc1.d/ rc2.d/ rc3.d/ rc4.d/ rc5.d/ rc6.d/
O diret#rio init.d/ contm scripts usados pelo comando /sbin/init quando controla
servios. )ada diret#rio numerado representa os * nveis de runlevels configurados pelo
padro so' o +ed ,at -nterprise .inux.
F.4.1. Nveis de Execuo
/ idia por trs dos nveis de execuo SysV 0nit gira em torno da idia que sistemas
diferentes podem ser usados de formas diferentes. 1or exemplo% um servidor roda mais
eficientemente sem precisar lidar com a deteriorao nos recursos disponveis do sistema
causada pelo Sistema 2 3indo4. Ou podem haver situa5es quando um administrador de
sistemas pode precisar operar o sistema em um nvel de execuo mais 'aixo para executar
tarefas de diagn#stico% como consertar a corrupo de disco no nvel de execuo 6.
/s caractersticas de um determinado nvel de execuo determinam quais servios so
suspensos e iniciados pelo comando init. 1or exemplo% nvel de execuo 6 7modo mono&
usurio8 suspende quaisquer servios de rede% enquanto o nvel de execuo 9 inicia estes
servios. /o determinar que certos servios devem ser iniciados ou suspensos em
determinados nveis de execuo% o init pode rapidamente alterar o modo da mquina sem
que o usurio precise iniciar ou parar servios.
Os seguintes nveis de execuo so definidos por padro so' o +ed ,at -nterprise .inux
o 0 : ,alt 7Suspender8
o 1 : ;odo texto mono&usurio
o 2 : $o utilizado 7definvel pelo usurio8
o 3 : ;odo texto pleno multi&usurio
o 4 : $o utilizado 7definvel pelo usurio8
o 5 : ;odo grfico pleno multi&usurio 7com uma tela de autenticao 'aseada no 28
o 6 : +e'oot 7+einicializar8
-m geral% os usurios operam o +ed ,at -nterprise .inux no runlevel 9 ou runlevel < : am'os
modos de usurio m=ltioo completo. Os usurios as vezes padronizam o runlevel > e ? para
atender @s necessidades% uma vez que no seAam usados.
O runlevel padro para o sistema listado em /etc/inittab. 1ara desco'rir o runlevel
padro para um sistema% procure pela linha semelhante aquela perto do final
do /etc/inittab(
id:5:initdefault:
O nvel de execuo padro listado neste exemplo cinco% conforme indicado pelo n=mero
ap#s o primeiro dois pontos. 1ara alter&lo% edite o /etc/inittab como root.
Aviso
Benha muito cuidado ao editar /etc/inittab. Simples error tipogrficos podem fazer com
que o sistema no possa mais ser inicializado. Se isto acontecer% use um )" ou "V" de
inicializao% entre em modo mono&usurio% ou entre em modo de resgate para inicializar o
computador e reparar o arquivo.
1ara maiores informa5es so're op5es do Cernel% consulte o )aptulo 9*% Recuperao Bsica
do Sistema.
D possvel alterar o nvel de execuo padro durante a inicializao modificando os
argumentos passados pelo carregador de inicializao para o Cernel. 1ara informa5es so're
como alterar o nvel de execuo durante a inicializao% consulte a Seo -.E% F/lterando
$veis de -xecuo "urante a 0nicializaoG.

Sistema de boot, nveis de execuo e shutdown
AUTOR: CRISTIAN ALEXANDRE CASTALDI
<CRISTIAN.ALECASTALDI AT GMAIL.COM>
DATA: 27/06/2006
INTRODUO
QUANDO LIGAMOS UM COMPUTADOR, PODEMOS
OBSERVAR QUE ELE INICIA UMA SRIE DE AES
AT REALIZAR A CARGA DO SISTEMA
OPERACIONAL. DURANTE O PROCESSO DE BOOT, O
BIOS (BASIC INPUT/OUTPUT SYSTEM) TESTA E
VERIFICA QUAIS COMPONENTES DE HARDWARE
ESTO INSTALADOS NO SISTEMA.

ESTE TESTE CHAMADO DE POST E ATRAVS
DELE QUE UM COMPUTADOR BUSCA INFORMAES
DOS DISPOSITIVOS DE HARDWARE INSTALADOS NO
SISTEMA (DRIVES DE DISQUETE, CD-ROM, HDS,
PORTAS SERIAIS, PARALELAS E USBS, PLACAS DE
VDEO, REDE, MONITOR, MOUSE, TECLADO ENTRE
OUTROS.).

SE TUDO ESTIVER BEM, O SISTEMA OPERACIONAL
SER CARREGADO A PARTIR DO PRIMEIRO SETOR,
DA PRIMEIRA TRILHA, DA PRIMEIRA FACE DO
PRIMEIRO DISCO. O PRIMEIRO SETOR ONDE EST
LOCALIZADO O MASTER BOOT RECORD (MBR), O
MBR UM PROGRAMA QUE L E VERIFICA A
TABELA DE PARTIES EM BUSCA DE UMA
PARTIO QUE SEJA ATIVA, OU SEJA,
INICIALIZVEL.

GERENCIADORES DE BOOT
NESSE TPICO FALAREMOS SOBRE DOIS
GERENCIADORES DE BOOT, O LILO (LINUX LOADER)
E O GRUB (GRAND UNIFIED BOOTLOADER), QUE
SO RESPONSVEIS PELA CARGA DO KERNEL
DO LINUX E DE OUTROS SISTEMAS OPERACIONAIS.
2.1. LILO

O LILO O GERENCIADOR DE BOOT MAIS POPULAR
PARA LINUX ELE O PADRO PARA A MAIORIA DAS
DISTRIBUIES. GERALMENTE ELE INSTALADO
NA MBR DO HARD DISK, MAS TAMBM PODE SER
INSTALADO EM UMA OUTRA PARTIO PRIMRIA.
2.1.1. LILO.CONF

AGORA QUE NS J SABEMOS QUEM O LILO,
VAMOS METER A MO NA MASSA E ANALISAR O
SEU ARQUIVO DE CONFIGURAO O
/ETC/LILO.CONF, ESTE ARQUIVO DIVIDIDO EM
DUAS SESSES: GERAL E IMAGENS. A SESSO
GERAL RESPONSVEL PELAS OPES QUE
INICIALIZARO O LILO E PELOS PARMETROS QUE
SERO PASSADOS AO KERNEL.

A SESSO IMAGENS RESPONSVEL PELAS
OPES QUE IDENTIFICAM A PARTIO QUE
CONTM O SISTEMA OPERACIONAL, MONTAGEM
INICIAL DO SISTEMA DE ARQUIVOS, TABELA DE
PARTIO, ARQUIVO QUE SER CARREGADO NA
MEMRIA PARA INICIALIZAR O SISTEMA ETC.
ABAIXO UM EXEMPLO DE CONFIGURAO COM
APENAS UM SISTEMA OPERACIONAL INSTALADO.

# CAT /ETC/LILO.CONF
BOOT=/DEV/SDA
ROOT=/DEV/SDA3
INSTALL=/BOOT/BOOT-MENU.B
MAP=/BOOT/MAP
DELAY=20
VGA=NORMAL
LBA32
IMAGE=/VMLINUZ
LABEL=LINUX
READ-ONLY
# RESTRICTED
# ALIAS=1

LOGICAMENTE QUE O SEU ARQUIVO
/ETC/LILO.CONF PODE ESTAR DIFERENTE DESTA
CONFIGURAO E POR ISSO ANTES DE CONTINUAR
FAA UM DISQUETE DE BOOT.

# MKBOOT

TESTE O DISQUETE PARA VER SE O LINUX
CARREGA O SISTEMA ATRAVS DELE, SE TUDO DER
CERTO VAMOS CONFIGURAR O LILO.CONF PARA
QUE ELE TENHA UM PROMPT, SENHA DE ACESSO E
QUE O USURIO POSSA ESCOLHER EM INICIALIZAR
UM SISTEMA LINUX OU OUTRO QUALQUER.

O PRIMEIRO PASSO RENOMEAR O ARQUIVO DE
LILO.CONF PARA LILO.CONF.OLD.

# MV /ETC/LILO.CONF /ETC/LILO.CONF.OLD

AGORA VAMOS CRIAR UM NOVO ARQUIVO DE
CONFIGURAO PARA O LILO, EXPLICANDO CADA
PARMETRO ADICIONADO.

# VI LILO.CONF

GERAL:
BOOT=/DEV/HDA1 - ESPECIFICA O NOME DO
DISPOSITIVO DE DISCO OU PARTIO ONDE
SER GRAVADO O SETOR DE PARTIDA DO LILO.
CASO ESSA ENTRADA SEJA OMITIDA, O SETOR
DE PARTIDA DO LILO SER GRAVADO NA
PARTIO RAIZ.
INSTALL=/BOOT/BOOT-MENU.B - ESPECIFICA A
LOCALIZAO DO ARQUIVO DO SETOR DE
BOOT.
MAP=/BOOT/MAP - ESPECIFICA QUAL ARQUIVO
MAPA SER USADO, POR PADRO USA-SE
/BOOT/MAP.
DEFAULT=LINUX - ESPECIFICA QUAL IMAGEM
DE BOOT SER CARREGADO POR PADRO
PELO LILO.
LBA32 - PERMITE BOOT EM DISCOS COM MAIS
DE 1024 CILINDROS.
DELAY=20 - ESPECIFICA O TEMPO DE ESPERA
QUE O LILO DEVE ESPERAR ANTES DE
INICIALIZAR A PRIMEIRA IMAGEM DO DISCO, SE
ESTA OPO FOR OMITIDA ELE CARREGA A
IMAGEM DEFINIDA NA OPO DEFAULT.
PROMPT - FORNECE UMA LINHA DE COMANDO
NO QUAL O USURIO PODE ESCOLHER QUAL
IMAGEM DE SISTEMA DESEJA CARREGAR OU
PASSAR PARMETROS PARA O KERNEL.

IMAGENS:
IMAGE=/VMLINUZ - ESPECIFICA O DISPOSITIVO
QUE CONTM A IMAGEM DO KERNEL.
ROOT=/DEV/HDA1 - ESPECIFICA A PARTIO
ONDE A IMAGEM VMLINUZ EST LOCALIZADA.
LABEL=LINUX - ESPECIFICA O NOME DA
IMAGEM DE BOOT NO MENU.
READ-ONLY - ESPECIFICA QUE A PARTIO
ONDE A IMAGEM EST LOCALIZADA SER
MONTADA INICIALMENTE COMO SOMENTE
LEITURA.
PASSWORD=SENHA - ESPECIFICA UMA SENHA
PARA A IMAGEM DE BOOT.
OTHER=WINDOWS - ESPECIFICA QUE OUTRO
SISTEMA OPERACIONAL SER CARREGADO.
TABLE=/DEV/HDC - ESPECIFICA ONDE EST
CONTIDA A TABELA DE PARTIES DO
DISPOSITIVO.

O ARQUIVO EDITADO NO VI FICAR ASSIM:
# CONFIGURAES GERAIS

BOOT=/DEV/HDA1
INSTALL=/BOOT/BOOT-MENU.B
MAP=/BOOT/MAP
DEFAULT=LINUX
LBA32
DELAY=20
PROMPT

# CONFIGURAES DE IMAGENS

IMAGE=/VMLINUZ
ROOT=/DEV/HDA1
LABEL=LINUX
READ-ONLY
PASSWORD=SENHA

OTHER=/DEV/HDC1
TABLE=/DEV/HDC
LABEL=WINDOWS
PASSWORD=SENHA

SALVE O ARQUIVO E EXECUTE O SEGUINTE
COMANDO NO PROMPT PARA INSTALAR O
GERENCIADOR DE BOOT:

# LILO

REINICIE O SISTEMA, APARECER O MENU DO LILO,
CASO ALGUMA COISA D ERRADO USE O DISQUETE
DE BOOT CRIADO ANTERIORMENTE E ANALISE O
QUE EST OCORRENDO. LEMBRE-SE QUE VOC
PODER RETORNAR A SUA CONFIGURAO ANTIGA
APENAS RENOMEANDO O ARQUIVO LILO.CONF.OLD
PARA LILO.CONF E DEPOIS EXECUTAR O COMANDO
LILO PARA SALVAR AS CONFIGURAES.
2.2. GRUB

O GRUB (GRAND UNIFIED BOOT LOADER) OUTRA
OPO DE GERENCIADOR DE BOOT ADOTADO
COMO PADRO EM OUTRAS DISTRIBUIES,
PODEMOS CITAR RED HAT, FEDORA, CONECTIVA
ETC. COMPARADO COM O LILO ELE BEM MAIS
FLEXVEL, FUNCIONAL E PODEROSO PODENDO
CARREGAR VRIOS TIPOS DE SISTEMAS
OPERACIONAIS.

A SUA INSTALAO E CONFIGURAO RELATAREI
EM UM PRXIMO ARTIGO, POIS AINDA NO TENHO
UMA BOA EXPERINCIA COM ESSE GERENCIADOR
DE BOOT. PORM FICAR A CARGO DE SUA
PESQUISA CONSULTAR O SEGUINTE DOCUMENTO
WWW.GNU.ORG/SOFTWARE/GRUB/MANUAL/GRUB.P
DF.

ENVIANDO PARMETROS PARA OS MDULOS DO
KERNEL
QUANDO OS PARMETROS SO PASSADOS
AO KERNEL PELA LINHA DE COMANDO, ELES
SEGUEM O SEGUINTE PADRO:

NOME_DA_IMAGEM_DO_KERNEL PARMETRO

OU

NOME_DA_IMAGEM_DO_KERNEL
PARMETRO=VALOR

EX: LINUX ROOT=/DEV/HDA3

GERALMENTE OS PARMETROS ESPECIFICAM
CONFIGURAES DE RECURSOS DO SISTEMA
COMO PORTAS I/O, IRQ, DRIVERS DE PLACA DE
REDE, ETC. OS GERENCIADORES DE BOOT
PERMITEM QUE OS PARMETROS SEJAM
PASSADOS PARA OS MDULOS, PORM ELES NO
LIDAM DIRETAMENTE COM ELES.

O KERNEL DO LINUX MODULAR E ASSIM PERMITE
QUE OS MDULOS POSSAM SER COMPILADOS E
CARREGADOS SOMENTE QUANDO NECESSRIO.
PARA ENVIAR PARMETROS PARA O KERNEL
NECESSRIO EDITAR O
ARQUIVO /ETC/MODULES.CONF OU /ETC/CONF.MOD
ULES, DEPENDENDO DA DISTRIBUIO USADA.
VEJA O EXEMPLO ABAIXO:

# LESS /ETC/MODULES.CONF
alias /dev/tts serial
alias /dev/tts/0 serial
alias /dev/tts/1 serial
# Uncomment the network protocols you don't want loaded:
# alias net-pf-1 off # Unix
# alias net-pf-2 off # IPv4

VISUALIZANDO MENSAGENS DE BOOT E
ENTENDENDO OS NVEIS DE EXECUO E O
PROCESSO INIT
DURANTE O PROCESSO DE BOOT, MENSAGENS SO
MOSTRADAS NO VDEO E SALVAS NO ARQUIVO DE
LOG /VAR/LOG/DMESG. PARA VISUALIZAR ESTE
ARQUIVO VOC PODE USAR O COMANDO DMESG.
OBSERVE:

# DMESG
ENTENDENDO OS NVEIS DE EXECUO E O PROCESSO INIT

MUITAS DISTRIBUIES LINUX USAM DIFERENTES
TIPOS DE ARQUIVOS SHELL-SCRIPT PARA INICIAR
SERVIOS E PROCESSOS DO SISTEMA. EXISTEM
DOIS TIPOS DE ESTILOS DE INICIALIZAO PARA
SISTEMAS OPERACIONAIS LINUX/UNIX: SYS V INIT E
O BSD INIT.

O BSD POPULAR EM DISTRIBUIES COMO
SLACKWARE, FREEBSD E OPENBSD. COM ESSE
TIPO DE ESTILO DE INICIALIZAO O PROCESSO
INIT USA O ARQUIVO /ETC/RC PARA INICIALIZAR
VRIOS ARQUIVOS SHELL-SCRIPTS PARA
CONFIGURAR O SISTEMA. O LINUX SLACKWARE
UTILIZA UM ESTILO DE INICIALIZAO MODIFICADO,
NO QUAL EXISTE UM ARQUIVO /ETC/INITTAB NO
LUGAR DE /ETC/RC E ACEITA NVEIS DE EXECUO.

O SYS V INIT UTILIZADO NA MAIORIA DAS
DISTRIBUIES LINUX, POIS ELE DISPE DE UM
MAIOR NMERO DE RECURSOS E DE UMA MAIOR
FLEXIBILIDADE DO QUE O BSD INIT. PARA NO
ENTRAR EM MUITOS DETALHES ADIANTO QUE OS
TPICOS A SEGUIR SO TODOS ORIUNDOS DO
ESTILO DE INICIALIZAO SYS V INIT E POR ISSO
ELES ESCLARECERO A MAIOR PARTE DAS
DUVIDAS QUE VENHAM A APARECER.

O PROCESSO DE BOOT NO LINUX BEM
CUSTOMIZVEL, PORM PODE SER DIFERENTE
ENTRE AS DISTRIBUIES NOS DETALHES. PARA
ENTENDER O PROCESSO DE BOOT E COMO
LOCALIZAR E REPARAR FALHAS NO HARDWARE
NECESSRIO SE FAMILIARIZAR COM O CONCEITO
DE NVEIS DE EXECUO OU RUNLEVELS.

NVEIS DE EXECUO OU RUNLEVELS SO
PROCESSOS EXECUTADOS EM UMA ORDEM
PROGRAMADA DURANTE O PROCESSO DE BOOT.
OS NVEIS DE EXECUO DETERMINAM QUAIS
SERVIOS SERO EXECUTADOS DURANTE A
CARGA DO SISTEMA OPERACIONAL.

NO LINUX EXISTEM SETE NVEIS DE EXECUO
PREDEFINIDOS, NUMERADOS DE 0 A 6, PORM O
QUE CADA UM EXECUTAR DEPENDER DA
DISTRIBUIO USADA E DA CONFIGURAO QUE O
ADMINISTRADOR DO SISTEMA EFETUOU. PARA
SABERMOS QUAL NVEL DE EXECUO A NOSSA
DISTRIBUIO DO LINUX EST USANDO DIGITE:

# RUNLEVEL
N 3

A TABELA ABAIXO DESCREVE OS NVEIS DE
EXECUO, OBSERVE:
0 DESLIGA O SISTEMA.
1,S,
SINGLE
UTILIZADO PARA MANUTENO DO
SISTEMA, CHAMADO DE MONOUSURIO
E SOMENTE O ESSENCIAL EXECUTADO.
2
MODO MULTIUSURIO SEM SUPORTE DE
REDE.
3
NVEL DE EXECUO PADRO,
MULTIUSURIO COM TODOS OS SERVIOS
HABILITADOS E LOGIN DO SISTEMA EM
MODO TEXTO.
4 INDEFINIDO OU NO UTILIZADO.
5
NVEL DE EXECUO PADRO,
MULTIUSURIO COM TODOS OS SERVIOS
HABILITADOS E LOGIN DO SISTEMA EM
MODO GRFICO.
6 EXECUTA O REBOOT DO SISTEMA.

ALTERANDO OS NVEIS DE EXECUO

PARA MUDAR OS NVEIS DE EXECUO DO SISTEMA
PODEMOS USAR DOIS COMANDOS: INIT OU TELINIT.

# INIT 1
OU
# TELINIT 1

O COMANDO TELINIT ATUALMENTE UM LINK PARA
O COMANDO /SBIN/INIT PARA PROVER
COMPATIBILIDADE COM OUTROS SISTEMAS UNIX.
DEFININDO QUAIS PROCESSOS SERO EXECUTADOS POR CADA
NVEL DE EXECUO

AT AGORA VIMOS QUE O COMANDO INIT
RESPONSVEL PELA ALTERAO DOS PROCESSOS
EM EXECUO DENTRO DE UM NVEL DE
EXECUO, PORM QUAIS PROCESSOS SERO
EXECUTADOS POR CADA NVEL DE EXECUO
FEITA PELA HIERARQUIA DE DIRETRIOS /ETC/RC.D
E SCRIPTS DE SHELL.
CONFIGURANDO O PROCESSO INIT

DEPOIS QUE O GERENCIADOR DE BOOT
STARTADO, O KERNEL DO LINUX EXECUTA O
PRIMEIRO PROCESSO QUE O INIT. O INIT SEMPRE
SER O PROCESSO DE ID 1. TODOS OS OUTROS
PROCESSOS SERO PROCESSOS FILHOS DO INIT.
OBSERVE:

# PS X
PID TTY STAT TIME COMMAND
1 ? S 0:07 init [3]
2 ? SW 0:00 [keventd]
3 ? SWN 0:00 [ksoftirqd_CPU0]
USE TAMBM OS COMANDOS:

# PGREP INIT

PARA VISUALIZAR A RVORE DE PROCESSOS:

# PSTREE

QUANDO O INIT EXECUTADO ELE L AS
CONFIGURAES CONTIDAS NO
ARQUIVO /ETC/INITTAB. UMA DELAS DEFINE QUAL
O NVEL DE EXECUO QUE O SISTEMA ASSUMIR
DURANTE O PROCESSO DE BOOT. NO ARQUIVO
/ETC/INITTAB PROCURE A SEGUINTE LINHA:
ID:3:INITDEFAULT:

A SINTAXE DA LINHA A SEGUINTE:

ID:NVEL DE EXECUO:AO:PROCESSO
ID - UMA SEQNCIA DE 1 A 4 CARACTERES
QUE IDENTIFICAM A ENTRADA NO INITTAB.
NVEL DE EXECUO - DEFINI O NVEL DE
EXECUO PADRO.
AO - ESPECFICA AO QUE O INIT IR
APLICAR. PARA TER UMA IDIA DAS AES
POSSVEIS NO PROMPT DIGITE MAN INITTAB.
PROCESSO - ESPECFICA O PROCESSO QUE
SER EXECUTADO.

ENTENDENDO OS SCRIPTS DE INICIALIZAO

OS SCRIPTS DE INICIALIZAO ESTO
ARMAZENADOS NO DIRETRIO /ETC/INIT.D E SEUS
LINKS SO CRIADOS EM /ETC/RC?.D, ONDE O ?
REPRESENTA O NVEL DE EXECUO DE 0 A 6
COMENTADO ANTERIORMENTE. OS LINKS QUE SE
ENCONTRAM NOS DIRETRIOS /ETC/RC?.D ESTO
NO SEGUINTE FORMATO:

SNNNOME OU KNNNOME

ONDE S DEFINE QUE O SCRIPT SER CARREGADO,
K DEFINE QUE O SCRIPTS SER TERMINADO, NN
REPRESENTA O NMERO QUE DEFINE A ORDEM
COMEANDO DO MENOR PARA O MAIOR E O NOME
DEFINE O NOME DO SCRIPT. OBSERVE O EXEMPLO:

# LS -L RC3.D/
LRWXRWXRWX 1 ROOT ROOT 13 MAY
10 2005 S20SSH -> ../INIT.D/SSH

OBSERVE QUE QUANDO O SISTEMA INICIADO NO
NVEL DE EXECUO 3 O LINK S20SSH STARTA O
SCRIPT DO SERVIO SSH QUE EST NO /INIT.D/SSH
ONDE:
S - INICIA O SCRIPT;
20 - NMERO QUE DEFINI A ORDEM DE
EXECUO;
SSH - O NOME DO SCRIPT.

PARA INCLUIR UM DETERMINADO SERVIO EM
ALGUM NVEL DE EXECUO NECESSRIO QUE O
SCRIPT DE EXECUO SEJA COPIADO PARA O
DIRETRIO /ETC/INIT.D E DEPOIS CRIAR UM LINK
SIMBLICO PARA O SCRIPT.

# CP /DEBIAN/SCRIPTS/QUOTAS /ETC/INIT.D/
# LN -S /ETC/INIT.D/QUOTAS /ETC/RC3.D/S90QUOTAS

PARA CARREGAR OU TERMINAR UM PROCESSO EM
QUALQUER NVEL DE EXECUO, RENOMEIE O LINK
REFERENTE AO SERVIO NOS DIRETRIOS
/ETC/RC?.D.

# MV S20EXIM K20EXIM

TODOS OS SCRIPTS LOCALIZADOS NO DIRETRIO
/ETC/INIT.D SUPORTAM ARGUMENTOS QUE PODEM
SER USADOS PARA INICIAR, PARAR E REINICIAR OS
SERVIOS. VEJA O EXEMPLO:

# ./LPD STOP
STOPPING PRINTER SPOOLER: LPD.

PARA SABER QUAIS ARGUMENTOS O SCRIPT PODE
ACEITAR DIGITE --HELP.

# ./LPD --HELP
USAGE: /ETC/INIT.D/LPD
{START|STOP|RESTART|FORCE-RELOAD}
GERENCIANDO SCRIPTS DE INICIALIZAO COM UPDATE-RC.D

O UPDATE-RC.D UMA FERRAMENTA DE
GERENCIAMENTO DE SCRIPTS, COM ELE PODEMOS
REMOVER OU ADICIONAR TODOS OS LINKS DE UM
SCRIPT A PARTIR DO DIRETRIO /ETC/INIT.D. PARA
REMOVER TODOS OS LINKS DE UM SCRIPT FAA:

# UPDATE-RC.D -F EXIM REMOVE
UPDATE-RC.D: /ETC/INIT.D/EXIM EXISTS DURING
RC.D PURGE (CONTINUING)
REMOVING ANY SYSTEM STARTUP LINKS FOR
/ETC/INIT.D/EXIM ...
/ETC/RC0.D/K20EXIM
/ETC/RC1.D/K20EXIM
/ETC/RC2.D/S20EXIM
/ETC/RC3.D/K20EXIM
/ETC/RC4.D/S20EXIM
/ETC/RC5.D/S20EXIM
/ETC/RC6.D/K20EXIM

PARA RECONFIGURAR UM SCRIPT OU SE INCLUIR
UM NOVO SCRIPT NO /ETC/INIT.D E QUER INICI-LO
FAA:

# UPDATE-RC.D NOME START NN RUNLEVEL .
NOME - NOME DO SCRIPT EM /ETC/INIT.D
START - EXECUTA O SCRIPT.
NN - NMERO QUE DETERMINA QUANDO O
SCRIPT DEVE SER EXECUTADO OU FINALIZADO.
RUNLEVEL - DEFINE EM QUAL NVEL DE
EXECUO O SCRIPT DEVE SER CARREGADO
OU TERMINADO.
. - SEPARA AS CONFIGURAES.

OBSERVE:

# UPDATE-RC.D EXIM START 20 4 . START 20 5 . STOP
20 0 . STOP 20 6 .
ADDING SYSTEM STARTUP FOR /ETC/INIT.D/EXIM ...
/ETC/RC0.D/K20EXIM -> ../INIT.D/EXIM
/ETC/RC6.D/K20EXIM -> ../INIT.D/EXIM
/ETC/RC4.D/S20EXIM -> ../INIT.D/EXIM
/ETC/RC5.D/S20EXIM -> ../INIT.D/EXIM

PARA FACILITAR MAIS AINDA O GERENCIAMENTO,
PODEMOS USAR O UPDATE-RC.D COM AS
CONFIGURAES PADRO. OU SEJA, INICIAR NOS
NVEIS DE EXECUO 2, 3, 4 E 5 E FINALIZAR NOS 0,
1 E 6:

# UPDATE-RC.D EXIM DEFAULTS
ADDING SYSTEM STARTUP FOR /ETC/INIT.D/EXIM ...
/ETC/RC0.D/K20EXIM -> ../INIT.D/EXIM
/ETC/RC1.D/K20EXIM -> ../INIT.D/EXIM
/ETC/RC6.D/K20EXIM -> ../INIT.D/EXIM
/ETC/RC2.D/S20EXIM -> ../INIT.D/EXIM
/ETC/RC3.D/S20EXIM -> ../INIT.D/EXIM
/ETC/RC4.D/S20EXIM -> ../INIT.D/EXIM
/ETC/RC5.D/S20EXIM -> ../INIT.D/EXIM

REINICIALIZAO E DESLIGAMENTO SEGURO DO
SISTEMA
SHUTDOWN

O COMANDO SHUTDOWN USADO PARA DESLIGAR
OU REINICIAR O SISTEMA, DURANTE ESSE
PROCESSO ELE DESABILITA O SISTEMA DE LOGIN
IMPEDINDO QUE NOVOS USURIOS ENTREM NO
SISTEMA. COM O SHUTDOWN PODEMOS
DETERMINAR HORRIOS E ENVIAR MENSAGENS
PARA OS USURIOS AVISANDO QUE O SISTEMA
SER DESLIGADO OU REINICIADO. OBSERVE AS
OPES MAIS USADAS:
-R (NN OU NOW) REINICIA O SISTEMA APS UM
DETERMINADO TEMPO OU IMEDIATAMENTE.
-H (NN OU NOW) DESLIGA O SISTEMA APS UM
DETERMINADO TEMPO OU IMEDIATAMENTE.
-F (NN OU NOW) REINICIA O SISTEMA SEM A
CHECAGEM DE DISCOS.
-F (NN OU NOW) REINICIA O SISTEMA COM
CHECAGEM DE DISCOS.
-C CANCELA O SHUTDOWN.

OBSERVE OS EXEMPLOS:

PARA REINICIAR O SISTEMA AS 06:00 DA MANH E
ENVIAR UMA MENSAGEM NO TERMINAL DOS
USURIOS:

# SHUTDOWN -R 06:00 "MANUTENO DE
HARDWARE"

PARA DESLIGAR O SISTEMA EM 10 MINUTOS:

# SHUTDOWN -H 10
HALT REBOOT E POWEROFF

OS COMANDOS HALT, REBOOT E POWEROFF SO
COMANDOS USADOS PARA PARAR, REINICIAR E
DESLIGAR O SISTEMA. OS COMANDOS REBOOT E
POWEROFF SO LINKS SIMBLICOS DO COMANDO
HALT. A FUNCIONALIDADE DEPENDE DO LINK
CHAMADO, O REBOOT TRABALHA COM O NVEL DE
EXECUO 6 ENQUANTO O POWEROFF TRABALHA
COM O NVEL DE EXECUO 0. PARA MAIS
DETALHES RECOMENDO QUE LEIA AS MAN PAGES
DOS COMANDOS.

CORRIGINDO PROBLEMAS NO PROCESSO DE BOOT
COMO NEM TUDO UM MAR DE ROSAS,
NECESSRIO QUE SE ENTENDA BEM O PROCESSO
DE BOOT PARA ASSIM PODERMOS CORRIGIR BEM
MAIS FACILMENTE QUALQUER TIPO DE PROBLEMA.
GERALMENTE, PODEM OCORRER TRS TIPOS DE
PROBLEMAS DURANTE O PROCESSO DE BOOT:
LILO COM DADOS CORROMPIDOS;
NOVAS CONFIGURAES DE MDULOS E
PARMETROS DO KERNEL;
SISTEMA DE ARQUIVOS CORROMPIDOS.

ERROS DO LILO

AS MENSAGENS DE ERRO DO LILO PODEM SER
ORIUNDAS DE M INSTALAO/CONFIGURAO E
QUANDO O LILO CARREGA O BOOT DO SISTEMA. OS
ERROS DE INSTALAO GERALMENTE SO BVIOS
E GERAM INFORMAES SUFICIENTES PARA
CORRIGIR O PROBLEMA.

J AS INFORMAES DE ERROS DE BOOT NO SO
MOSTRADAS COMO AS DE
INSTALAO/CONFIGURAO. QUANDO O LILO
CARREGADO ELE MOSTRA UMA LETRA PARA CADA
FASE. USANDO ESTAS INFORMAES PODEMOS
MINIMIZAR ESTE TIPO DE PROBLEMA.
<NADA> - NENHUMA PARTE DO LILO FOI
CARREGADA.
L<CDIGO DE ERRO> - PRIMEIRO ESTGIO DE
BOOT CARREGADO, PORM ERROS
ENCONTRADOS DURANTE O CARREGAMENTO
DO SEGUNDO ESTGIO. VEJA A TABELA DE
CDIGO DE ERROS.
LI - PRIMEIRO ESTGIO DE BOOT CARREGADO
E PRONTO PARA CARREGAR O SEGUNDO,
PORM O SISTEMA FALHA AO EXECUTAR ESSA
TAREFA. MOTIVO: CONFIGURAES DE
GEOMETRIA DOS DISCOS RGIDOS EM
DESACORDO OU O ARQUIVO /BOOT.BOOT.B FOI
ALTERADO SEM EXECUTAR O MAP INSTALLER.
LIL - O SEGUNDO ESTGIO DE BOOT
CARREGADO, PORM O DESCRITOR DA
TABELA DE PARTIES PARA O ARQUIVO
/BOOT/MAP NO CARREGADO. MOTIVO:
FALHAS DE DISCO OU CONFIGURAES DE
GEOMETRIA DOS DISCOS RGIDOS EM
DESACORDO.
LIL? - O SEGUNDO ESTGIO DE BOOT
CARREGADO, PORM EM UM ENDEREO
INCORRETO. MOTIVO: CONFIGURAES DE
GEOMETRIA DOS DISCOS RGIDOS EM
DESACORDO OU O ARQUIVO /BOOT/BOOT.B FOI
ALTERADO SEM EXECUTAR O MAP INSTALLER.
LIL- - O DESCRITOR DA TABELA DE PARTIES
CORROMPIDO.MOTIVO:CONFIGURAES DE
GEOMETRIA DE UM OU OUTROS DISCOS
RGIDOS EM DESACORDO COM A TABELA DE
PARTIES OU O ARQUIVO /BOOT/MAP FOI
ALTERADO SEM EXECUTAR O MAP INSTALLER.
LILO - O LILO CARREGADO NORMALMENTE.

C!DIGOS DE ERRO
0X00 - ERRO INTERNO. MOTIVO: DADOS
CORROMPIDOS NA INSTALAO DO LILO OU O
SISTEMA TENTA ACESSAR UM DISCO COM MAIS
DE 1024 CILINDROS COM O LILO CONFIGURADO
COM A OPO LINEAR. CONSULTE A MAN DO
LILO.CONF.
0X01 - COMANDO ILEGAL. MOTIVO: DISCO NO
SUPORTADO PELA BIOS.
0X02 - ENDEREO NO ENCONTRADO. MOTIVO:
ERRO DE MDIA, REINICIE O SISTEMA.
0X03 - DISCO COM PROTEO DE ESCRITA.
0X04 - SETOR NO ENCONTRADO. MOTIVO:
GEOMETRIA DE DISCO INVLIDA.
0X06 - MUDANA DE LINHA ATIVA. MOTIVO:
ESTE UM ERRO PASSAGEIRO, REINICIE O
SISTEMA.
0X07 - INICIALIZAO INVLIDA. MOTIVO: A
BIOS FALHA AO INICIAR O CONTROLADOR DE
DISCOS.
0X08 - DMA OVERRUN. MOTIVO: ERROS DE DMA,
REINICIE O SISTEMA.
0X09 - O DMA ATRAVESSA A BARREIRA DO 64K.
MOTIVO: GEOMETRIA DE DISCO INVLIDA.
REMOVA A OPO COMPACT DO ARQUIVO
LILO.CONF.
0X0C - MDIA INVLIDA. MOTIVO: ERRO DE
MDIA.
0X10 - ERRO DE CRC. MOTIVO: PROBLEMAS NA
MDIA, MOVA OS ARQUIVOS DE BOOT PARA
OUTRA LOCALIZAO PARA CORRIGIR ESTE
PROBLEMA.
0X11 - ECC CORRECTION SUCCESSFUL.
MOTIVO: UM ERRO OCORRE NA LEITURA DOS
DADOS.
0X20 - ERRO DE CONTROLE
0X40 - FALHA NA INICIALIZAO DO DISCO.
MOTIVO: DISCO CORROMPIDO.
0X80 - DISK TIMEOUT. MOTIVO: DISCO
CORROMPIDO OU O DISCO NO EST GIRANDO.
0XBB - ERRO DE BIOS. MOTIVO: O PROBLEMA
PERSISTE DEPOIS DE UMA REINICIALIZAO,
REMOVA A OPO COMPACT DO LILO.CONF. SE
O ERRO PERSISTIR ANALISE AS OPES LBA32
E LINEAR.

BOOTANDO O SISTEMA COMO MONOUSU"RIO #SINGLE-USER$

S VEZES POR INCONSISTNCIA DO SISTEMA OU
POR CAUSA DE UM DRIVER CORROMPIDO
NECESSRIO ACESSAR O SISTEMA COMO
MONOUSURIO PARA FAZER AS DEVIDAS
CORREES NO SISTEMA. PARA ACESSAR O
SISTEMA COMO SINGLE USER, BASTA APENAS
DIGITAR LINUX SINGLE NO PROMPT DO LILO. COMO
DITO ANTERIORMENTE NESSE NVEL DE EXECUO
SOMENTE O NECESSRIO STARTADO. OBSERVE:

BOOT: LINUX S, S OU SINGLE
CRIANDO DISCOS DE BOOT E DE REPARO

S VEZES NOS DEPARAMOS COM PROBLEMAS NO
BOOT DO SISTEMA POR CAUSA DE ARQUIVOS
CORROMPIDOS, M CONFIGURAO DE
GERENCIADORES DE BOOT, INSTALAO DE UM
NOVO KERNEL ETC. NESSES CASOS APARECEM
DUAS FERRAMENTAS SIMPLES E IMPORTANTES
PARA QUALQUER ADMINISTRADOR LINUX, O DISCO
DE BOOT E O DISCO REPARO. ESTES DISCOS
PODEM GARANTIR A DISPONIBILIDADE DO SISTEMA
EM CASOS DE EMERGNCIA. NUNCA PENSE QUE
ESSE TIPO DE PROBLEMA NO IR ACONTECER
COM VOC ENTO PARA A CASA NO CAIR
RECEITA SIMPLES. OBSERVE:

PARA CRIAR UM DISCO DE BOOT DO DEBIAN FAA:

# MKBOOT

PARA CRIAR UM DISCO DE BOOT NO RED HAT
FAA:

# MKBOOTDSK --DEVICE /DEV/FD0 --NOPROMPT --
VERBOSE

AGORA VAMOS CRIAR UM DISCO DE RECUPERAO
DE MBR NO LILO, POIS NA MBR ESTO
ARMAZENADAS INFORMAES SOBRE AS
PARTIES DOS DISCOS COMO PARTIO
INICIALIZVEL, SE SO PRIMRIAS OU ESTENDIDAS
E TIPO DE SISTEMA DE ARQUIVOS UTILIZADO.

# DD IF=/DEV/SDA OF=/DEV/FD0 BS=512 COUNT=1

ONDE:
IF=ARQUIVO_DE_ENTRADA - L O
ARQUIVO,DISCO OU PARTIO DE ENTRADA.
OF=ARQUIVO_DE_SADA - GRAVA NO ARQUIVO,
DISCO OU PARTIO DE SADA.
BS=BYTES - FORA IBS BYTES E OBS BYTES
(CONSULTE MAN DD)
COUNT=BLOCOS - CONTA SOMENTE
ENTRADA DE BLOCOS.

PARA RESTAUR-LO FAA:

# DD IF=/DEV/FD0 OF=/DEV/SDA BS=512 COUNT=1

VAMOS FAZER UMA SIMULAO, TOME CUIDADO,
POIS SE FIZER ALGO DE ERRADO PODE
COMPROMETER O SEU SISTEMA. NO MEU CASO
ESTOU USANDO O VMWARE PARA EMULAR UM
AMBIENTE LINUX.

1. APAGUE A PARTIO DE BOOT USANDO O FDISK,
NO MEU CASO BOOTEI O SISTEMA USANDO UM
DISQUETE DE BOOT DO WINDOWS. FEITO ISSO O
SEU SISTEMA NO BOOTAR MAIS COMO ANTES.
OU SEJA, VOC PRECISAR DE UM DISCO DE BOOT
PARA INICIAR O SEU SISTEMA.

A:> FDISK

2. REINICIE O SISTEMA USANDO O DISCO DE
REPARAO CRIADO ANTERIORMENTE COM O
UTILITRIO DD. LEMBRE-SE QUE ELE POSSUI
INFORMAES DAS PARTIES DO SISTEMA. PARA
VISUALIZAR A TABELA DE PARTIES DIGITE:

# FDISK -L

3. PARA RECUPERAR A TABELA DE PARTIO
DIGITE O COMANDO COMO CITADO
ANTERIORMENTE:

# DD IF=/DEV/FD0 OF=/DEV/SDA BS=512 COUNT=1

4. REINICIE O SISTEMA SEM O DISCO DE
RECUPERAO, APS A INICIALIZAO DIGITE
NOVAMENTE "FDISK -L" E OBSERVE A TABELA DE
PARTIES. VOC VER QUE A PARTIO
APAGADA FOI RESTAURADA. PARABNS.

BIBLIOGRAFIA
RIBEIRO, UIR. CERTIFICAO LINUX RIO DE
JANEIRO: AXCEL BOOKS DO BRASIL EDITORA, 2004.

DA SILVA, GLEYDSON MAZIOLI. GUIA FOCA
GNU/NVEL INTERMEDIRIO. DISPONVEL EM:
HTTP://FOCALINUX.CIPSGA.ORG.BR/
ACESSO EM: 17 MAR. 2004.

NASH, ANGIE E JASON. LPIC 1 CERTIFICATION BIBLE
INDIANPOLIS, IN CLEVELAND, OH E NOVA YORK,
NY: HUNGRY MINDS, 2001.

HTTP://PT.WIKIPEDIA.ORG/WIKI/BOOT ACESSO
24/01/2006

HTTP://PT.WIKIPEDIA.ORG/WIKI/BIOS
ACESSO 24/01/2006

HTTP://WWW.PCS.USP.BR/~JKINOSHI/BS/B040504.HT
ML
ACESSO 24/01/2006

HTTP://WWW.GNU.ORG/SOFTWARE/GRUB/MANUAL/G
RUB.PDF
ACESSO 16/02/2006

HTTP://PACKAGES.DEBIAN.ORG/STABLE/SOURCE/FI
LE-RC
ACESSO 14/03/2006

HTTP://WWW.NOVATECEDITORA.COM.BR/LIVROS/LIN
UXGUIAADM/CAPITULO8575220381.PDF
ACESSO 10/05/2006.

Entendendo e trabalhando com runlevels

O que um runlevel?

Runlevel o nvel de inicializao do sistema.

Este nvel decide qual servio vai inicializar ou no com o sistema.
O Debian e o Red Hat utilizam o sistema System V, o Slakware, o
sistema FreeBSD, o Ubuntu est lanando o sistema Upstart, mas ainda utiliza
o System V.

Aps o carregamento do sistema, o kernel carregado na memria, junto com
os dispositivos que esto no /etc/fstab e no /etc/dev. Temos ento, o
carregamento do sistema. Este acontece no /etc/init.d, onde ficam todos os
*daemons que so iniciados como sistema, todos os scripts responsveis por
parar ou iniciar um servio esto no /etc/init.d.

* Daemon um script que utilizado para dar start, stop ou restart em um
servio.

Quando o sistema ativado, o primeiro arquivo a ser lido o /etc/inittab, que
armazena o runlevel do sistema na seguinte linha:
id:x:initdefault

Onde x o runlevel padro. Por exemplo, no Debian o runlevel padro o 2
(dois). Para verificar o runlevel da sua distribuio, voc primeiro abre o
arquivo com um editor de texto de sua escolha e depois localiza o ID que
indica qual o runlevel padro.

Vamos usar o Vim como o editor de texto para o nosso exemplo:

# vim /etc/inittab
id:2:initdefault


Obs.: No Vim, para localizar algo dentro de um arquivo, digite / e entre com a
string que deseja localizar.

Cuidado ao mudar o runlevel no arquivo inittab, pois se colocarmos o runlevel
6 ou 1, que o da reinicializao do sistema ou o de finalizao dos servios e
desligamento do sistema, o sistema no carrega e fica em looping.

As opes que podemos colocar no inittab so:
0 Logo aps iniciar o sistema o mesmo j finaliza todos os servios
e desliga.
1 Temos ao iniciar o modo monousurio.
2-5 Temos os modos multiusurios que podem ser tanto grfico
como no modo texto.
6 Modo que reinicia a mquina.

Aps ler o arquivo /etc/inittab, o sistema sabe em qual runlevel deve iniciar,
porm, no executa nenhum script de inicializao.

No nosso caso, que estamos usando o Debian como exemplo, ele vai carregar
o runlevel 2, mas antes dele abrir o runlevel 2, ele necessita carregar os
servios essenciais ao sistema que se encontram em /etc/rS.d, ao abrir o
arquivo como o vim (# vim /etc/rS.d), verificamos que temos dentro deste
arquivo somente links que apontam para o arquivo /etc/init.d, onde realmente
ficam os scripts de inicializao do sistema.

Aps, ele carregar os arquivos essenciais ao sistema no /etc/rS.d, ento ele
parte para abrir os scripts do runlevel 2, que se encontram em /etc/rc2.d.

Para visualizar, execute:

# cd /etc/rc2.d && ls l

Verificamos que tambm so links, e que apontam para /etc/init.d, repare que
temos uma letra S e K no inicio de cada link, onde S vem de start que significa
daemon iniciado e K vem de killer, que significa daemon morto.

Os scripts tambm recebem um numero, por exemplo: S20cups - isto significa
que o servio do CUPS ser o vigsimo a ser iniciado. Outro exemplo:
k95cups - isto significa que o servio do CUPS ser o nonagsimo quinto a ser
finalizado.

Tambm podemos mudar de runlevel em nvel de execuo, primeiro
verifique qual runlevel seu sistema est utilizando, executando o seguinte
comando:

# runlevel

Mudamos para o nvel monousurio:

# init 1

Mudamos para o nvel de reinicializao do sistema:

# init 6

Ao mudar o runlevel com init, voc estar fazendo isso em tempo de
execuo, logo, no teremos o problema dele entrar em looping. Isto s
ocorreria se fosse modificado no arquivo /etc/inittab.

Para reiniciar um servio no Debian, colocamos o PATH completo:

# /etc/init.d/ networking restart

Obs.: Poderamos usar o start ou stop, que inicia ou para o servio.

Acabamos de reiniciar a placa de rede, no CentOS um pouco diferente:

# service network restart

* Como no Debian, poderamos usar o start ou stop, que inicia ou para o
servio.

Podemos colocar qualquer script para iniciar, vamos criar um script de
exemplo e colocar na inicializao do Debian.

Criando um arquivo para carregar as configuraes do firewall, neste
momento, voc deve estar dentro do diretrio /etc/init.d:

# touch firewall && vim firewall

Adicione:
modprobe iptables
echo >1 /proc/sys/net/ipv4/ip_forward
iptables t nat A POSROUTING o eth1 j MASQUERADE;


Salvando o arquivo e saindo: :wq!

Colocando o script firewall para inicializar:

# update-rc.d firewall defaults

No CentOS, acredito que seja assim:

# cd /etc/init.d && chkconfig --add firewall

Ou ento:

# mv ~/firewall /etc/init.d

Fui! Hoje eu sa com a mulher casada (Debian ). No prximo artigo, eu saio
com a amante (Slackware).

Tambm publicado em: runlevel www.tripletech.com.br

GUIA DO LINUX/AVANADO/A
DISTRIBUIO DEBIAN
GNU/LINUX/NVEIS DE EXECUO
< GUIA DO LINUX | AVANADO | A DISTRIBUIO DEBIAN GNU/LINUX
LINUX
Nveis de Execuo[editar | editar cdigo-fonte]
Os Nveis de execuo (run levels) so diferentes modos de funcionamento
do GNU/Linux com programas, daemons e recursos especficos. Em geral, os
sistemas GNU/Linux possuem sete nveis de execuo numerados de 0 a 6. O
daemon init o primeiro programa executado no GNU/Linux (veja atravs do ps ax|grep
init) e responsvel pela carga de todos daemons de inicializao e configurao do
sistema.
O nvel de execuo padro em uma distribuio GNU/Linux definido atravs do arquivo
de configurao do /etc/inittab atravs da linha

id:2:initdefault:
Entendendo o funcionamento dos nveis de execuo do sistema
(runlevels)[editar | editar cdigo-fonte]
Os nvel de execuo atual do sistema pode ser visualizado atravs do
comando runlevel e modificado atravs dos programas init ou telinit. Quando
executado, o runlevel l o arquivo /var/run/utmp e adicionalmente lista o nvel de
execuo anterior ou a letra N em seu lugar (caso ainda no tenha ocorrido a mudana do
nvel de execuo do sistema).
Na Debian, os diretrios /etc/rc0.d a /etc/rc6.d contm os links simblicos para
arquivos em /etc/init.d que so acionados pelo nvel de execuo correspondente.
Por exemplo, o arquivo S10sysklogd em /etc/rc2.d, um link simblico
para /etc/init.d/sysklogd.
O que aconteceria se voc removesse o arquivo /etc/rc2.d/S10sysklogd?
Simplesmente o daemon sysklogd deixaria de ser executado no nvel de execuo 2 do
sistema (que o padro da Debian).
A Debian segue o seguinte padro para definir se um link simblico em /etc/rc[0-
6].d iniciar ou interromper a execuo de um servio em /etc/init.d, que o
seguinte:
SE UM LINK INICIADO COM A LETRA K (KILL), QUER DIZER QUE O SERVIO
SER INTERROMPIDO NAQUELE NVEL DE EXECUO. O QUE ELE FAZ
EXECUTAR O DAEMON EM /ETC/INIT.D SEGUIDO DE STOP.
SE UM LINK INICIADO COM A LETRA S (START), QUER DIZER QUE O
SERVIO SER INICIADO NAQUELE NVEL DE EXECUO ( EQUIVALENTE A
EXECUTAR O DAEMON SEGUIDO DE START).
Primeiro os links com a letra K so executado e depois os S. A ordem que os links so
executados dependem do valor numrico que acompanha o link, por exemplo, os
seguintes arquivos so executados em sequncia:

S10sysklogd
S12kerneld
S20inetd
S20linuxlogo
S20logoutd
S20lprng
S89cron
S99xdm
Note que os arquivos que iniciam com o mesmo nmero (S20*) so executados
alfabeticamente. O nvel de execuo do sistema pode ser modificado usando-se o
comando init ou telinit. Os seguinte nveis de execuo esto disponveis na Debian:
0 - INTERROMPE A EXECUO DO SISTEMA. TODOS OS PROGRAMAS E
DAEMONS FINALIZADOS. ACIONADO PELO COMANDO SHUTDOWN -H
1 - MODO MONOUSURIO, TIL PARA MANUTENO DOS SISTEMA.
2 - MODO MULTIUSURIO (PADRO DA DEBIAN)
3 - MODO MULTIUSURIO
4 - MODO MULTIUSURIO
5 - MODO MULTIUSURIO COM LOGIN GRFICO
6 - REINICIALIZAO DO SISTEMA. TODOS OS PROGRAMAS E DAEMONS SO
ENCERRADOS E O SISTEMA REINICIADO. ACIONADO PELO COMANDO
SHUTDOWN -R E O PRESSIONAMENTO DE CTRL ALT DEL.
Por exemplo, para listar o nvel de execuo atual do sistema digite: runlevel.
O runlevel dever listar algo como:

N 2

Das könnte Ihnen auch gefallen