Runlevels - Níveis de Execução
Linux e Unix

Runlevels - Níveis de Execução




Um runlevel (nível de execução) é um modo de operação do sistema que define quais serviços do sistema estarão disponíveis (rodando). Os runlevels são identificados por números, de 0 a 6.
Podemos usar os níveis de execução para decidir quais subsistemas irão rodar na máquina, como por exemplo decidir se a GUI irá ser executada (X Window System), se a rede estará operacional, se mais de um usuário poderá se logar no sistema, desligar e reiniciar, etc.


A tabela a seguir mostra os níveis de execução de acordo com a especificação LSB (Linux Standard Base) e seus significados:


Runlevel
Significado
0
Desligar o sistema
1
Modo de usuário único (modo de manutenção)
2
Modo multiusuário sem rede
3
Modo multiusuário com rede
4
Não usado
5
Modo multiusuário completo com GUI (runlevel 3 com interface gráfica)
6
Reiniciar o sistema
Na verdade, os runlevels de 2 a 5 podem variar dependendo da distribuição Linux considerada.
Todo sistema Linux suporta três níveis de execução básicos (0,1 e 6) e mais um runlevel (no mínimo) para operação normal do sistema.


Veja, na tabela a seguir, os níveis de execução definidos em uma distribuição Debian, como a usada nos nossos exemplos aqui:
Runlevel
Significado
0
Desligar o sistema
1
Modo de usuário único (modo de manutenção)
2 a 5
Modos multiusuário completos (com ou sem GUI)
6
Reiniciar o sistema
Fonte: https://wiki.debian.org/RunLevel


Os serviços que serão inicializados em cada runlevel são definidos pelo conteúdo de vários diretórios rcX.d, com X variando de 0 a 6, que se localizam dentro de /etc/ em sistemas Debian e derivados.


Vejamos o conteúdo de um desses diretórios, como o /etc/rc0.d:


Veja que há uma série de itens cujo nome se inicia com a letra K. Em outros diretórios há também itens cujo nome se inicia com S. Vamos olhar os detalhes desses itens usando o comando ls -l:


Notamos que os itens são na verdade atalhos para usa série de arquivos localizados no diretório /etc/init.d/. Esses arquivos são scripts de inicialização e finalização individuais para cada serviço do sistema, que são executados quando o sistema entra no runlevel associado.
Quando o nome do link se inicia com a letra K (kill), trata-se de um serviço que será finalizado, se estiver rodando, ao entrar no runlevel.
Se o nome do link se iniciar com a letra S (start), trata-se então de um serviço que será inicializado quando o sistema entrar no nível de execução associado.


O formato geral dos nomes desses arquivos é então:
KNNnome e SNNnome, onde:


- Letras K e S: como descrito acima;
- NN: Número de sequência, com dois dígitos, que especifica a ordem relativa para iniciar ou finalizar os serviços. Números mais baixos indicam scripts que serão executados primeiro. Caso haja repetição de números, a ordem alfabética será usada.
- nome: Nome para identificação dos serviços.


Vejamos o conteúdo do diretório /etc/rc2.d/:
Temos neste diretório vários links iniciados com a letra S, indicando serviços que devem ser iniciados quando o sistema entrar no nível de execução 2.

Definir o nível de execução padrão:

Quando o sistema é iniciado, o processo init (primeiro processo do sistema)  levará o sistema a um runlevel padrão, o qual é configurado no arquivo /etc/inittab, na linha a seguir:
Veja que o meu sistema, por padrão, entra no nível de execução 2 de acordo com o arquivo inittab.
Podemos alterar o runlevel padrão editando esse arquivo e trocando o número do nível de execução nesta linha pelo runlevel desejado.


CUIDADO!!!: Nunca configure os runlevels 0 ou 6 no arquivo /etc/inittab, pois seu sistema não conseguirá mais inicializar corretamente!


Para verificarmos o runlevel atual do sistema, digite o comando runlevel no console:
$ runlevel
No exemplo acima, o número 2 indica que o runlevel atual é 2, e a letra N indica o runlevel em que o sistema se encontrava antes de entra no nível 2 (neste caso, nenhum), informação lida no arquivo /var/run/utmp.


Podemos alterar o runlevel do sistema pela linha de comandos usando comandos como o init e o telinit, que você pode conferir clicando aqui.


Gerenciando os links de runlevel no Debian
Podemos gerenciar os links de scripts de nível de execução usando o utilitário sysv-rc-conf, que pode ser instalado com o comando a seguir:
# apt-get install sysv-rc-conf


E aberto com o comando:
# sysv-rc-conf


Com esse utilitário podemos consultar e também ativar ou desativar scripts em cada nível de execução no console com facilidade. Veja a tela do utilitário em execução:
Basta navegar pelos itens com as setas de direção do teclado, e com um toque na barra de espaços você pode ativar ou desativar os scripts de acordo com o runlevel que é mostrado no cabeçalho das colunas.
Consulte as páginas do manual referente ao utilitário para mais opções:
$ man sysv-rc-config


É isso aí! Você pode ver mais informações sobre o assunto neste vídeo da Bóson Treinamentos:





loading...

- Permissões De Acesso A Arquivos E Pastas Pelo Terminal No Linux
Permissões de acesso a arquivos e pastas no LinuxUsamos permissões no Linux para definir quem pode acessar arquivos e diretórios, e seu nível de acesso, que vai desde acesso total até permissão totalmente negada. Para estudarmos como funcionam as...

- A Estrutura De Diretórios Do Linux
A estrutura de diretórios do Linux pode parecer um pouco estranha a princípio para quem vem do ambiente Windows. Por exemplo, não temos letras de unidade como C: e D:, e as partições são numeradas, entre outras diferenças.A estrutura dos sistemas...

- Rcconf E Bum - Gerenciando A Inicialização De Serviços No Linux
Vamos falar hoje sobre duas ferramentas para configuração e controle dos serviços de sistema durante a inicialização: rcconf e bum. Pacote rcconf - Debian Runlevel Configuration Editor Esta ferramenta permite configurar os serviços do sistema...

- Comando Jobs No Linux
No Unix, há uma pequena diferença entre processos e jobs. Um job tipicamente é uma linha de comandos, que pode incluir um único comando, um shell script, ou vários comandos conectados por pipes. Em uma cadeia de comandos com pipes, cada comando...

- Permissões De Acesso A Arquivos E Diretórios E Comando Chmod
O Linux / Unix possui um sistema de permissões de acesso a arquivos e diretórios relativamente complexo.Neste sistema, existem três tipos de permissões básicas: leitura, escrita (gravação) e execução, representados respectivamente pelos caracteres...



Linux e Unix








.