# Guia do Linux/Avançado/A distribuição Debian GNU/Linux/Níveis de Execução
## Níveis de Execução

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 através da linha

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

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:
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:
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:
Isto quer dizer que o nível de execução anterior era o 2 e o atual é o 3.