O que é um nível de execução?

23 de Setembro de 2025

Um nível de execução é um estado operacional predefinido de um sistema UNIX ou Linux que determina quais serviços e processos estão disponíveis após a inicialização.

o que é um nível de execução

O que é nível de execução?

Um nível de execução (runlevel) é um conceito dos sistemas operacionais UNIX e Linux que define um estado específico da máquina, determinando quais processos, serviços e recursos do sistema estão ativos. Ele funciona como uma estrutura para controlar a inicialização e o desligamento do sistema, permitindo que os administradores gerenciem o ambiente de acordo com as necessidades operacionais. Cada nível de execução corresponde a um modo específico, como manutenção do sistema, operação multiusuário baseada em texto ou disponibilidade completa da interface gráfica.

Ao inicializar, o sistema entra em um nível de execução padrão definido em sua configuração, e o processo init garante que o conjunto correto de serviços seja iniciado ou interrompido com base nesse nível. Ao alterar o nível de execução, os administradores podem adaptar rapidamente o sistema a diferentes tarefas, como solucionar problemas no modo de usuário único, executar sem rede por motivos de segurança ou habilitar serviços gráficos e de rede completos para uso regular. Esse mecanismo fornece uma maneira padronizada e eficiente de gerenciar o comportamento do sistema sem a necessidade de intervenção manual para cada serviço individual.

Diferentes níveis de execução do Linux

Aqui está uma tabela estruturada dos níveis de execução tradicionais do Linux SysV e suas finalidades:

Nível de execuçãoDescriçãoCaso de uso típico
0Parada (desligamento)Desliga o sistema com segurança.
1Modo de usuário únicoModo de manutenção ou emergência com Acesso à raiz somente, sem networking.
2Modo multiusuário sem redeFornece vários logins de usuário, mas desabilita serviços de rede (varia de acordo com a distribuição).
3Modo multiusuário completo com redeModo padrão baseado em texto, não gráfico, com todos os serviços e redes habilitados.
4Indefinido / definível pelo usuárioRaramente usado; disponível para configuração personalizada.
5Modo multiusuário com rede e GUIInicializa em ambiente de desktop gráfico com rede completa.
6ReinicieReinicia o sistema com segurança.

Para que serve o Runlevel?

Os níveis de execução (runlevels) são usados ​​para controlar o estado operacional de um sistema Linux ou UNIX, definindo quais serviços, processos e recursos do sistema devem estar ativos em um determinado momento. Eles permitem que os administradores gerenciem o comportamento do sistema durante a inicialização, o desligamento ou as transições entre diferentes modos de operação.

Por exemplo, um sistema pode ser colocado no modo de usuário único para solução de problemas, alternado para o modo multiusuário para operação normal. server operações ou inicializados em uma interface gráfica para uso em desktop. Ao definir ou alterar o nível de execução, os administradores podem habilitar ou desabilitar rapidamente grupos de serviços, conservar recursos do sistema, realizar tarefas de manutenção ou garantir que a máquina seja executada na configuração mais adequada para a função pretendida. Essa abordagem estruturada ajuda a manter a consistência, a segurança e a eficiência em diferentes ambientes.

Como verificar o nível de execução?

Você pode verificar o nível de execução atual em um sistema Linux usando comandos que informam o estado operacional do sistema. Em sistemas SysVinit tradicionais , o comando `runlevel` exibe os níveis de execução anterior e atual, enquanto o comando `who -r` mostra o nível de execução atual com mais detalhes.

Em distribuições modernas baseadas em systemd , que substituem runlevels por targets , o comando equivalente é `systemctl get-default` para ver o target padrão e `systemctl isolate <target>` para alternar para outro. Além disso, `systemctl list-units --type=target` fornece informações sobre targets ativos, que correspondem a runlevels como `multi-user.target` ou `graphical.target`.

Como alterar o nível de execução no Linux?

como alterar o nível de execução no Linux

A alteração do nível de execução no Linux depende de o sistema usar a estrutura SysVinit mais antiga ou o sistema init systemd mais moderno.

Sistemas baseados em SysVinit

O nível de execução pode ser alterado temporariamente com o comando `init` ou `telinit` seguido pelo número do nível de execução. Por exemplo, executar `init 3` alterna o sistema para o modo multiusuário sem interface gráfica, enquanto `init 5` inicia o ambiente gráfico. Para tornar a alteração permanente, o nível de execução padrão deve ser modificado no arquivo `/etc/inittab`, onde o sistema lê qual nível de execução deve ser inicializado por padrão.

Sistemas baseados em Systemd

Os níveis de execução são substituídos por destinos . Para alternar temporariamente para outro destino, você usa `systemctl isolate <destino>`, como `systemctl isolate multi-user.target` para entrar no modo texto ou `systemctl isolate graphical.target` para iniciar a interface gráfica. Para alterar o padrão para inicializações futuras, você executa `systemctl set-default <destino>`, que atualiza o link simbólico para o destino padrão do sistema.

Por que o nível de execução é importante?

Aqui está uma lista de razões pelas quais os níveis de execução são importantes em sistemas Linux e Unix:

  • Controle de sistema. Os níveis de execução definem quais serviços e processos devem ser executados, dando aos administradores controle preciso sobre o estado operacional do sistema.
  • Flexibilidade. Eles permitem a troca rápida entre diferentes modos, como o modo de usuário único para manutenção ou o modo gráfico para uso em desktop.
  • guia de solução de problemas. Os administradores podem inicializar em ambientes mínimos (como nível de execução 1) para corrigir erros de configuração ou se recuperar de falhas.
  • Gestão de recursos. Ao desabilitar serviços desnecessários em certos níveis de execução, o sistema pode conservar CPU, memóriae poder.
  • Total. Níveis de execução mais baixos podem restringir o acesso a usuários e serviços, o que é útil ao isolar o sistema durante manutenção ou suspeita de comprometimento.
  • Consistência. Eles fornecem uma estrutura padronizada para estados do sistema em diferentes sistemas do tipo Unix, simplificando a administração.
  • Completa. Scripts e configurações vinculadas a níveis de execução simplificam a inicialização, o desligamento e as transições, reduzindo o trabalho manual.

Problemas de nível de execução

Aqui está uma visão geral dos problemas comuns de nível de execução e por que eles são importantes:

  • Nível de execução padrão mal configurado. Se o nível de execução padrão do sistema (ou destino do systemd) estiver definido incorretamente, a máquina pode inicializar em um estado indesejado, como o modo gráfico em um server, ou um modo não conectado em rede em uma estação de trabalho, levando ao desperdício de recursos ou usabilidade limitada.
  • Falha ao carregar serviços críticos. Em um determinado nível de execução, certos daemons Espera-se que sejam iniciados automaticamente. Se erros de configuração impedirem sua inicialização, o sistema poderá ficar sem rede, serviços de exibição ou até mesmo recursos essenciais de login, deixando-o parcial ou totalmente inutilizável.
  • Incapacidade de alternar níveis de execução. Problemas com scripts de inicialização ou serviço dependências pode impedir que o sistema altere os modos dinamicamente. Por exemplo, alternar do nível de execução 3 (multiusuário baseado em texto) para o nível de execução 5 (gráfico) pode falhar se o gerenciador de exibição estiver configurado incorretamente ou ausente.
  • Loops de inicialização ou travamentos. Uma configuração de nível de execução incorreta ou quebrada pode fazer com que o sistema tente carregar repetidamente serviços incompatíveis, resultando em reinicializações contínuas ou núcleo pânico. Isso geralmente acontece quando o nível de execução padrão aponta para um modo que requer indisponível Hardwares ou software.
  • Comportamento inconsistente entre distribuições. De jeito nenhum Distribuições Linux trate os níveis de execução da mesma forma. Por exemplo, alguns usam o nível de execução 2 como o modo multiusuário padrão, enquanto outros usam o nível de execução 3 ou 5. Isso pode gerar confusão e configurações incorretas quando os administradores trabalham em vários sistemas.
  • Transição para alvos do systemdOs sistemas Linux modernos substituíram amplamente os níveis de execução por alvos systemd. Embora tenham um propósito semelhante, as diferenças na terminologia e nos comandos podem causar problemas para administradores acostumados ao SysVinit, levando a erros no gerenciamento de serviços e na recuperação do sistema.

Qual é a diferença entre Target e Runlevel?

Aqui está uma tabela comparativa que explica a diferença entre níveis de execução e alvos no Linux:

AspectoNível de execução (SysVinit)Alvo (systemd)
DefiniçãoUm estado numérico predefinido (0–6) que determina quais serviços e processos iniciam.Uma unidade nomeada no systemd que agrupa serviços e define o estado do sistema.
FormatoIdentificado por números (por exemplo, nível de execução 3 = multiusuário sem GUI).Identificado por nomes descritivos (por exemplo, multi-user.target, graphical.target).
Arquivo de configuraçãoControlado via /etc/inittab.Gerenciado com arquivos de unidade em /etc/systemd/system/ e /lib/systemd/system/.
FlexibilidadeEstados fixos com personalização limitada (principalmente 7 níveis de execução).Altamente flexível, permitindo destinos e dependências personalizados.
Estado padrãoDefinido em /etc/inittab.Definir com systemctl set-default .
Comando de alteraçãoAlterado temporariamente com init ou telinit .Alterado temporariamente com systemctl isolate .
ExtensibilidadeNão é facilmente extensível; está vinculado ao SysVinit legado.Totalmente extensível; os administradores podem criar novos alvos para necessidades específicas.
Verificação do status atualVerificado com runlevel ou who -r.Verificado com systemctl get-default ou systemctl list-units --type=target.

Anastasia
Spasojevic
Anastazija é uma redatora de conteúdo experiente, com conhecimento e paixão por cloud computação, tecnologia da informação e segurança online. No phoenixNAP, ela se concentra em responder a questões candentes sobre como garantir a robustez e a segurança dos dados para todos os participantes do cenário digital.