Mateus Müller

O carinha do Linux

10 set. 2017

LPIC-1: O que é e como funciona o Runlevel no Linux

Este artigo tem por objetivo explicar de uma forma simples o que é e como funciona o runlevel no Linux. Lembrando que, este conteúdo é obrigatório para efetuar a prova da LPIC-1.

O que é Runlevel?

Como o próprio nome já diz, o runlevel é um nível de execução do sistema operacional. Cada forma como o sistema operacional trabalha possui uma numeração diferente, chamado de runlevel.

Quais são os níveis de runlevel existentes?

Para que você consiga entender, vamos dividir em duas partes. Primeiro vou explicar como era o runlevel antigamente quando o gerenciador de inicialização utilizado era o SysV. Recentemente este gerenciador foi trocado pelo Systemd que mudou a forma de gerenciar os runlevels.

Obs.: Ambas as formas são necessárias para a prova da LPIC-1.

Quais são os níveis de runlevel existentes no SysV?

Os níveis de runlevel variam de 0 a 6 no SysV. Lembrando que geralmente os níveis mudam de uma distribuição para outra. Por exemplo, o runlevel 3 para o Debian, pode não ser o mesmo para o Fedora. Nas explicações abaixo estarei me baseando no CentOS:

  • Runlevel 0: Este é o nível de execução halt. Sendo assim se você chamar este runlevel, o equipamento vai desligar.
  • Runlevel 1: Este é o nível de execução mono-usuário. Sabe quando você acessa o modo de recuperação onde só é possível acessar com um usuário (root)? Pois então, este é o runlevel 1. Também fica sem conexão de rede e sem os serviços do sistema (a não ser que eles estejam habilitados para rodar no runlevel 1).
  • Runlevel 2: Não é utilizado. Usuário poderá personalizar como quiser.
  • Runlevel 3: Este é o nível de execução multi-usuário sem interface gráfica.
  • Runlevel 4: Não é utilizado. Usuário poderá personalizar como quiser.
  • Runlevel 5: Geralmente o nível de execução padrão. Modo multi-usuário com interface gráfica (GUI).
  • Runlevel 6: Modo de reboot. Logo, se você chamar este runlevel, o equipamento vai reiniciar.

Quais são os níveis de runlevel existentes no Systemd?

Primeiramente, o Systemd não trata estes níveis como runlevel, e sim como targets. Desta forma, não precisamos perder tempo pesquisando qual é o runlevel correto para determinada ação.

Complicou? Vamos simplificar então:

Obs.:Para este exemplo estarei utilizando o Deepin 15.04, pode ser que para você apareça em uma pasta diferente.

Vamos, então, acessar a pasta onde constam os targets:

$ cd /lib/systemd/system
$ ls -l
Dica de LPIC-1: O que é e como funciona o Runlevel no Linux
Dica de LPIC-1: O que é e como funciona o Runlevel no Linux

Uma atenção especial ao default.target que é o target padrão do nosso sistema operacional. Ele é um link simbólico para o graphical.target, equivalente ao Runlevel 5. Muito mais fácil, não?

Abaixo fiz o que seria equivalente entre um e outro baseado no site da RedHat:

Dica de LPIC-1: O que é e como funciona o Runlevel no Linux
Dica de LPIC-1: O que é e como funciona o Runlevel no Linux

Mas, como alterar o runlevel no SysV?

Você pode chamar em tempo real o runlevel que você deseja. Digamos que você esteja com o sistema normal e queria rebootar o equipamento. Você pode digitar o seguinte comando para rebootar:

$ telinit 6

Assim ele vai chamar o runlevel 6.

Para você definir um runlevel padrão, basta editar o arquivo /etc/inittab alterando a linha “id:5:initdefault”. Lembrando que se você procurar este arquivo em seu equipamento ele não vai mais existir, pois somente versões mais velhas do Linux tinham este arquivo.

E, como alterar o target default no Systemd?

Para alterar o target default, basta você remover o default.target e recriar com o target desejado. Digamos que eu queira acessar o modo mono-usuário para recuperação:

$ cd /lib/systemd/system
$ rm default.target
$ ln -s rescue.target default.target
Dica de LPIC-1: O que é e como funciona o Runlevel no Linux
Dica de LPIC-1: O que é e como funciona o Runlevel no Linux

Veja que agora o link simbólico se alterou:

$ ls -l --color | grep -i default
Dica de LPIC-1: O que é e como funciona o Runlevel no Linux
Dica de LPIC-1: O que é e como funciona o Runlevel no Linux

Agora é só rebootar o equipamento que ele vai acessar no modo de recuperação.

Como posso verificar o runlevel padrão?

Para verificar o runlevel que está executando no momento basta rodar o seguinte comando:

$ sudo runlevel (ou como root).

Bom pessoal, espero ter sido claro em minha explicação e exclarecido algumas dúvidas de vocês.

Até a próxima!

Se tiver alguma dúvida ou sugestão de conteúdo, por favor, comente!

Comentários Disqus