Administração de sistemas
operacionais
Aula 04
Os níveis de inicialização do sistemas
(runlevel)
Prof. Esp. Diovani Milhorim
Runlevel – inicialização do sistema
Runlevel:
No
Linux
e
outros
sistemas
baseados no Unix o runlevel indica
o modo de operação atual da
máquina, definindo quais serviços e
recursos devem permanecer ativos.
O runlevel pode ser alterado a
qualquer momento pelo root.
Runlevel – inicialização do sistema
Runlevel:
No
Linux
os
runlevels
são
numerados de 0 a 6. No nível 0 o
sistema está parado,
nenhum
processo é executado. Este modo
entra em ação quando desligamos o
sistema via software.
Runlevel – inicialização do sistema
Runlevel: Nível 1
O nível 1 é chamado de single user mode
é um modo de recuperação, onde temos
ativa apenas a conta de superusuário.
Não é possível usar a rede nem rodar
programas gráficos. Neste modo é
possível alterar as configurações do
sistema, alterar as senhas dos usuários,
etc.
Runlevel – inicialização do sistema
Runlevel: Nível 2 e 3
Nos níveis 2 e 3 já temos o modo de
operação normal do sistema. Nestes
modos o sistema inicializa em modo texto
e depois de logado o usuário pode abrir o
modo gráfico se desejar. A diferença entre
os dois é que no modo 2 (também
considerado um modo de recuperação)
não existe suporte a rede.
Runlevel – inicialização do sistema
Runlevel: Nível 4
O nível 4 geralmente fica vago. Na
maioria
das
distribuições
ele
equivale ao modo 3, enquanto em
outras,
como
no
Slackware,
equivale ao modo de login gráfico.
Runlevel – inicialização do sistema
Runlevel: Nível 5
No nível 5 temos a inicialização com
login em modo gráfico, default na
maioria
das
distribuições
atualmente.
Runlevel – inicialização do sistema
Runlevel: Nível 6
O modo 6 é reservado à reinicialização do
sistema. Todos os serviços e programas
são parados e o sistema é reinicializado
via software.
O modo 6 difere do modo 0, onde o
sistema
fica
simplesmente
parado,
esperando ser desligado.
Runlevel – inicialização do sistema
Runlevel: O arquivo inittab
O arquivo /etc/inittab guarda as configurações
padrão(default) do processo de inicialização do
sistema.
Podemos definir neste arquivo:






O runlevel padrão.
Seqüência de teclas para reinicialização (ctrl+alt+del)
Procedimento para falta de energia elétrica
Procedimento para retorno de energia elétrica
Número de consoles de terminal
Número para consoles seriais
Runlevel – inicialização do sistema
Runlevel: O arquivo inittab
É possível configurar o init através do
arquivo /etc/inittab. O arquivo segue o
seguinte formato:

identificação:níveis_execução:ação:processo
As linhas começadas com um “#” são
ignoradas
Runlevel – inicialização do sistema
Runlevel: O arquivo inittab
É possível alterar o nível de execução a
qualquer
momento,
modificando
o
número do nível de execução diretamente
no arquivo (segunda linha do exemplo),
ou através do comando telinit.
Runlevel – inicialização do sistema
Runlevel: O arquivo inittab
O comando telinit aceita como argumento o nível de
execução para o qual se deseja mudar.
Exemplo:
telinit 2 irá levar o sistema ao nível de execução 2
telinit 1 modo monousuário
telinit q fará com que o init releia seu arquivo de
configuração (/etc/inittab).
Para verificar o nível de execução de um sistema basta
executar o comando runlevel
Runlevel – inicialização do sistema
Runlevel: Modificando os runlevel padrão.
Cada nível padrão de execução do sistema tem
seus serviços específicos que serão inicializados
durante o boot. Quanto mais baixo o runlevel
menor
a quantidade de serviços disponíveis
(exceto o nível 6 – reboot)
É possível configurar quais serviços estarão
disponíveis e quais serão paralisados em um
determinado runlevel.
Runlevel – inicialização do sistema
Runlevel: Modificando os runlevel padrão.
Existem dois estilos de init: o BSD e o SYS-V.
Cada um tem suas peculiaridades.
O Debian usa init SYS-V. Os scripts são
armazenados em /etc/init.d e links são criados
em /etc/rc?.d, onde o ? representa o runlevel.
Runlevel – inicialização do sistema
Runlevel: Modificando os runlevel padrão.
Runlevel – inicialização do sistema
Runlevel: Modificando os runlevel padrão.
Nos diretórios /etc/rc?.d encontramos links simbólicos para os
scripts do diretório /etc/init.d. Estes links tem seus nomes
iniciados pelas letras “K” ou “S” seguidos por um valor
númerico de dois dígitos.
Antes de entrar em qualquer nível de execução, todos os
scripts iniciados com 'K' são executados; esses scripts matam
(param) serviços.
Todos os scripts iniciados com 'S' são executados; esses
scripts iniciam serviços.
O número de dois dígitos seguido de 'K' ou 'S' indica a ordem
na qual o script é executado. Scripts de menor valor numérico
são executados primeiro.
Runlevel – inicialização do sistema
Runlevel: Modificando os runlevel padrão.
Runlevel – inicialização do sistema
Runlevel: Modificando os runlevel padrão.
Todos os scripts em /etc/init.d/ aceitam um
argumento que pode ser:





start (iniciar)
stop (parar)
reload (recarregar)
restart (reiniciar)
force-reload (forçar-recarregar)
Esses scripts podem ser usados mesmo depois
que um sistema tenha sido iniciado para controlar
vários processos.
Runlevel – inicialização do sistema
Runlevel: Modificando os runlevel padrão.
Caso deseje adicionar novos serviços para iniciar junto
com o boot, devemos adicionar o script no diretório
/etc/init.d/<script>.
Assim sendo, para invocar um script temos:
/etc/init.d/<script> <opção>
Para inserir este script como serviço de um runlevel
temos de adicionar um link para ele no diretório
/etc/rc?.d correspondente:
#ln –s /etc/init.d/script /etc/rc?.d/<nome do link>
Runlevel – inicialização do sistema
Runlevel: Atividade
1) Altere o runlevel do seu sistema para o
nível 1 utilizando o comando telinit.
2) Adicione o serviço cron ao runlevel 1.
3) altere o runlevel
sistema para o nível 3.
padrão
do
seu
Runlevel – inicialização do sistema
Runlevel: O utilitário rcconf
O rcconf é um front-end para o updaterc.d.
O rcconf permite você controlar que
serviços são iniciados quando o sistema
inicia ( :S ), ele irá mostrar uma tela onde
você poderá ver o status de cada serviço
[*] ou [ ].
Runlevel – inicialização do sistema
Runlevel: O utilitário rcconf
O rcconf trabalha obtendo a lista de serviços de
/etc/init.d e observa nos diretórios /etc/rc?.d para
determinar se cada serviço está ligado ou não no boot.
Se o número NN (de /etc/rc?.d/NNname) não é 20
(padrão), rcconf salva o nome do serviço junto ao seu
número em /var/lib/rcconf/services para que seja
possível restabelecer o serviço para sua configuração
original.
Runlevel – inicialização do sistema
Runlevel: O utilitário rcconf
Instalação:
# apt-get install rcconf
Atualizar menus:
# update-rcconf-guide
Utilização:
# rcconf
Ele irá chamar uma tela demonstrando o que temos de
inicialização e marcará para iniciar ou não iniciar (desativar).
Download

Aula 4 - professordiovani.com.br