Quando o sistema inicia, e após o kernel ter configurado tudo e montado o sistema de arquivos raiz, ele executa o /sbin/init[28]. O init é o pai de todos os processos do sistema e é o responsável por conduzir o sistema ao nível de execução desejado. Nós vamos cobrir os níveis de execução depois (veja a Seção 2, “Níveis de Execução”).
O arquivo de configuração do init é o /etc/inittab
e tem a sua própria página de manual (inittab(5)), então nós vamos documentar alguns dos valores possíveis para configuração.
A primeira linha que deveria ser o foco da sua atenção é a seguinte:
si::sysinit:/etc/rc.d/rc.sysinit
Esta linha diz ao
init que o /etc/rc.d/rc.sysinit deve ser
executado assim que o sistema estiver inicializado (si
significa System Init). Para
determinar o nível de execução padrão, o init então procura pela
linha contendo a palavra-chave initdefault
:
id:5:initdefault:
Neste caso, o init sabe que o nível de execução padrão é 5. Ele também sabe que para entrar no nível 5, ele deve executar o seguinte comando:
l5:5:wait:/etc/rc.d/rc 5
Como você pode ver, a sintaxe para cada nível de execução é parecida.
O init também é responsável por
reiniciar (respawn
) alguns programas que não
podem ser iniciados por qualquer outro processo. Por exemplo, cada
um dos programas de login que são executados nos seis consoles
virtuais são iniciados pelo init[29]. O segundo console virtual é
identificado desta forma:
2:2345:respawn:/sbin/mingetty tty2
[28] E por isso é uma má idéia colocar o /sbin
em um sistema de arquivo diferente do raiz. O kernel não montou nenhuma outra partição neste ponto, e então não conseguiria encontrar o arquivo /sbin/init.
[29] Se você não quiser seis consoles virtuais, você pode adicionar ou remover alguns deles modificando este arquivo. Se você deseja aumentar o número de consoles, você poderá ter até 64. Mas não se esqueça que o X também é executado em um console virtual, então deixe ao menos um console livre para o X.