1. Introdução

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.