Os níveis de execução do Linux representam diferentes estados do sistema ou modos de operação. A funcionalidade específica associada a cada nível de execução pode variar um pouco entre distribuições (como Debian, Red Hat etc.), mas a idéia geral permanece consistente. Os sistemas tradicionais de sysvinit usavam níveis de execução numerados (0-6), enquanto o Systemd (usado pela maioria das distribuições modernas) usa alvos que são conceitualmente semelhantes, mas implementados de maneira diferente.
sysvinit runlevels (sistemas mais antigos): *
0:HALT: Desligamento do sistema.
*
1:Modo único: Um ambiente mínimo, geralmente acessível apenas pelo usuário raiz. Útil para tarefas de administração e manutenção do sistema sem iniciar o ambiente ou serviços gráficos completos.
*
2:MultiUser, sem NFS: Um ambiente completo de vários usuários, mas sem o sistema de arquivos de rede (NFS).
*
3:MultiUser, com redes: Um ambiente multiusuário completo com a rede habilitada. Este geralmente é o nível de execução padrão para muitos sistemas de servidores.
*
4:não utilizado: Geralmente reservado, mas não padronizado.
*
5:MultiUser com interface gráfica (x11): Um ambiente multi-usuário completo com uma interface gráfica do usuário. Este é o nível mais comum para sistemas de mesa.
*
6:reinicialização: Reinicialização do sistema.
Systemd metas (sistemas modernos): O Systemd não usa diretamente níveis de execução numerados. Em vez disso, emprega *metas *, que são links simbólicos para estados do tipo Runlevel. Estes são mais flexíveis e descritivos. Alguns alvos comuns incluem:
*
`multi-user.target`: Semelhante ao Runlevel 3. Um ambiente multiusuário completo com rede. Este geralmente é o destino padrão para servidores.
*
`Graphical.target`: Semelhante ao Runlevel 5. Um ambiente multiusuário com uma interface gráfica. Este é o destino padrão para sistemas de mesa.
*
`resgate.target`: Semelhante a um modo de usuário único, fornecendo um ambiente mínimo para solução de problemas.
*
`poweroff.target`: Desliga o sistema. Equivalente ao nível 0.
*
`reboot.target`: Reinicia o sistema. Equivalente ao nível 6.
Considerações importantes: *
Diferenças de distribuição: O comportamento e os serviços exatos iniciados em cada nível ou destino podem variar entre as distribuições Linux. Sempre consulte a documentação da sua distribuição para obter detalhes.
*
Sistemas init: O sistema init (Sysvinit, Systemd, Upstart etc.) gerencia os níveis ou alvos.
*
Serviços: Os serviços individuais (daemons) são controlados separadamente, muitas vezes através de ferramentas como `SystemCtl` (para Systemd) ou` Service` (para sysvinit). Esses serviços determinam quais aplicativos e daemons são executados em cada nível.
Em resumo, enquanto os níveis de execução numerados no Sysvinit forneceram uma maneira simples de categorizar os estados do sistema, os alvos do SystemD oferecem uma abordagem mais granular e flexível para gerenciar a inicialização e o desligamento do sistema. A funcionalidade principal, no entanto - fornecer diferentes modos operacionais para o sistema - permanece o mesmo.