26/04/2013

Tudo (ou quase) sobre os Runlevels do Linux

Se os Runlevels sempre lhe fez alguma confusão ou tem dúvidas para que realmente servem então, espero conseguir esclarecer todas essas dúvidas neste artigo.
Os serviços num sistema operativo Linux estão organizados por Runlevels em que, a cada um, estão associados algumas funcionalidades, ou seja, os Runlevels definem os recursos e serviços que estão ativos e podem ser usados depois do arranque do sistema.
Com esta funcionalidade, também denominada por modo ou nível de execução, consegue-se ter vários graus de iteração entre o sistema operativo e o utilizador.

Este artigo tem como base a distribuição Redhat/Centos logo noutras distribuições como por exemplo a Ubuntu a configuração e funções dos Runlevels podem ser ligeiramente diferentes. No entanto o que quero transmitir é o conceito de Runlevel.

Os Runlevels são controlados por scripts que estão organizados em diretorias próprias, isto é, quando o sistema arranca com determinado Runlevel são executados scripts relacionados com esse nível de execução.

Existem sempre um Runlevel por omissão que pode ser configurado no ficheiro /etc/inittab (em Redhat e Centos, outras pode diferir), configuração esta que pode ser sobreposta no Grub, antes do sistema operativo arrancar (Changing Runlevels at Boot Time). A linha seguinte representa este ficheiro, onde se pode verificar que o Runlevel é o 5.

#cat /etc/inittab

id:5:initdefault:



Na tabela a seguir podem ver a função de cada Runlevel.

  • 0 — Halt » Encerra o sistema.
  • 1 — Single-user text mode » Modo de administração.
  • 2 — Not used (user-definable)
  • 3 — Full multi-user text mode » Modo normal, apenas com linha de comandos.
  • 4 — Not used (user-definable)
  • 5 — Full multi-user graphical mode » Modo normal com consola gráfica.
  • 6 — Reboot » Usado durante o reinicio do sistema.


Os modos de execução mais usados são o 3 e 5, pois, ambos permitem todas as funcionalidades do sistema. O Runlevel 3 é mais adequado e mais utilizado em servidores por ser um modo só com linha de comandos (sem GUI), não sendo necessário gastar recursos com a consola gráfica.

Por vezes são utilizados os Runlevel 2 e 4 para situações especificas em que é necessário customizar estes modos.

O Runlevel 1 ou Single-user é utilizado por exemplo para fazer a recuperação da palavra-passe de root. Para isso basta no menu de arranque do sistema (Grub) ir acima da de linha que corresponde ao Linux que pretende recuperar, pressionar a tecla E, acrescentar o número 1 e por fim pressionar a teclar B para iniciar o sistema. Desta forma, o sistema arranca com funcionalidades limitadas e com acesso à linha de comandos onde é possível executar passwd root. A linha seguinte mostra um exemplo da linha do Grub onde acrescentámos 1 para arrancar em Single-user mode.

ro root=UUID=somelonghexadecimalnumber rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet 1

Volto a alertar que esta forma de Single-user é para distros Redhat/Centos e derivadas e provavelmente noutras distribuições poderá ser diferente.


0 comentários: