Guia do Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Níveis de Execução

Ní­veis de Execução

editar

Os Ní­veis de execução (run levels) são diferentes modos de funcionamento do GNU/Linux com programas, daemons e recursos especí­ficos. Em geral, os sistemas GNU/Linux possuem sete ní­veis de execução numerados de 0 a 6. O daemon init é o primeiro programa executado no GNU/Linux (veja através do ps ax|grep init) e responsável pela carga de todos daemons de inicialização e configuração do sistema.

O ní­vel de execução padrão em uma distribuição GNU/Linux é definido através do arquivo de configuração do /etc/inittab ([ch-etc.html#s-etc-inittab Arquivo /etc/inittab, Seção 27.26]) através da linha


     id:2:initdefault:

Entendendo o funcionamento dos ní­veis de execução do sistema (runlevels)

editar

Os ní­vel de execução atual do sistema pode ser visualizado através do comando runlevel e modificado através dos programas init ou telinit. Quando é executado, o runlevel lê o arquivo /var/run/utmp e adicionalmente lista o ní­vel de execução anterior ou a letra N em seu lugar (caso ainda não tenha ocorrido a mudança do ní­vel de execução do sistema).

Na Debian, os diretórios /etc/rc0.d a /etc/rc6.d contém os links simbólicos para arquivos em /etc/init.d que são acionados pelo ní­vel de execução correspondente.

Por exemplo, o arquivo S10sysklogd em /etc/rc2.d, é um link simbólico 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 ní­vel de execução 2 do sistema (que é o padrão da Debian).

A Debian segue o seguinte padrão para definir se um link simbólico em /etc/rc[0-6].d iniciará ou interromperá a execução de um serviço em /etc/init.d, que é o seguinte:

  • Se um link é iniciado com a letra K (kill), quer dizer que o serviço será interrompido naquele ní­vel de execução. 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 serviço será iniciado naquele ní­vel de execução (é equivalente a executar o daemon seguido de start).

Primeiro os links com a letra K são executado e depois os S. A ordem que os links são executados dependem do valor numérico que acompanha o link, por exemplo, os seguintes arquivos são executados em sequência:


     S10sysklogd
     S12kerneld
     S20inetd
     S20linuxlogo
     S20logoutd
     S20lprng
     S89cron
     S99xdm

Note que os arquivos que iniciam com o mesmo número (S20*) são executados alfabeticamente. O ní­vel de execução do sistema pode ser modificado usando-se o comando init ou telinit. Os seguinte ní­veis de execução estão disponí­veis na Debian:

  • 0 - Interrompe a execução do sistema. todos os programas e daemons finalizados. É acionado pelo comando shutdown -h
  • 1 - Modo monousuário, útil para manutenção dos sistema.
  • 2 - Modo multiusuário (padrão da Debian)
  • 3 - Modo multiusuário
  • 4 - Modo multiusuário
  • 5 - Modo multiusuário com login gráfico
  • 6 - Reinicialização do sistema. Todos os programas e daemons são encerrados e o sistema é reiniciado. É acionado pelo comando shutdown -r e o pressionamento de CTRL ALT DEL.

Por exemplo, para listar o ní­vel de execução atual do sistema digite: runlevel. O runlevel deverá listar algo como:


     N 2

Agora para mudar para o ní­vel de execução 1, digite: init 3. Agora confira a mudança digitando: runlevel. Você deverá ver este resultado:


     2 3

Isto quer dizer que o ní­vel de execução anterior era o 2 e o atual é o 3.