O programa INIT
O init é um dos programas absolutamente essenciais para a operação de um sistema Linux, mas que a maioria dos usuários pode ignorar. Uma boa distribuição Linux conterá a configuração de um init que funcionará com a maioria dos sistemas e não haverá necessidade de se fazer absolutamente nada. Porém aqui apresento informações aos que gostam de conhecer melhor sobre o S.O.
Parte 2: Configuração do INIT
Quando é inicializado, o init lê o arquivo de configuração /etc/inittab. Enquanto o sistema estiver no ar, ele será lido novamente, caso seja enviado um sinal HUP, tornando desnecessário reinicializar o sistema para que as mudanças do init façam efeito.
O arquivo /etc/inittab é um pouco complicado. Começaremos pelo caso mais simples, ou seja, configurando as linhas do getty. As linhas do /etc/inittab consistem de quatro campos delimitados por dois pontos:
id :nível:ação:processo
Os campos são descritos a seguir. O /etc/inittab pode conter algumas linhas vazias, e linhas que comecem com '#' serão consideradas comentários.
Caso necessite adicionar terminais ou modems para atendimento de chamadas ao sistema, deve-se adicionar mais linhas ao arquivo /etc/inittab, uma para cada terminal ou modem. Ver as páginas de manual do init(8), inittab(5), mingetty(8) e mgetty(8) para maiores detalhes.
Caso o comando falhe ao ser executado, e o init esteja configurado para reinicializá-Io, isso certamente consumirá uma grande quantidade de recursos, pois o processo de iniciar o comando se repetirá indefinidamente. Para prevenir esse tipo de problema, o init verificará a frequência de reinicialização do comando e caso esta seja muito grande, o init aguardará automaticamente por cinco minutos antes de iniciá-lo novamente.
O arquivo /etc/inittab é um pouco complicado. Começaremos pelo caso mais simples, ou seja, configurando as linhas do getty. As linhas do /etc/inittab consistem de quatro campos delimitados por dois pontos:
id :nível:ação:processo
Os campos são descritos a seguir. O /etc/inittab pode conter algumas linhas vazias, e linhas que comecem com '#' serão consideradas comentários.
- id: Identifica a linha no arquivo. Para linhas referentes ao getty especifica o terminal em que eles são executados (os caracteres após o /dev/tty no nome do arquivo de dispositivo). Para outras linhas não têm efeito (exceto pelas restrições de tamanho), e devem ser únicas.
- nível: Os níveis de execução em que a linha deve ser considerada. Os níveis de execução são definidos através de dígitos sem delimitadores e são melhores descritos na próxima seção.
- ação: Define a ação que deve ser tomada pela linha. Por exemplo, respawn para executar novamente o comando do próximo campo, quando este encerra seu processamento ou once para executá-lo somente uma única vez.
- processo: O comando a ser executado. Para iniciar o getty no primeiro terminal virtual (/dev/tty1), em todos os modos de execução multi-usuários (de 2 a 5), podemos informar a seguinte linha:
1:1234S:respawn:/sbin/getty 9600 tty1
O primeiro campo diz que a linha deve ser executada para /dev/tty1. O segundo que ele aplica-se aos níveis de execução de 1 a 5. O terceiro que o comando deve ser reinicializado quando o processo termina (ou seja quando um usuário desconectar-se de um terminal, o getty será executado novamente para que outro usuário possa conectar-se). O último campo executa o processo getty no primeiro terminal virtual.
Caso necessite adicionar terminais ou modems para atendimento de chamadas ao sistema, deve-se adicionar mais linhas ao arquivo /etc/inittab, uma para cada terminal ou modem. Ver as páginas de manual do init(8), inittab(5), mingetty(8) e mgetty(8) para maiores detalhes.
Caso o comando falhe ao ser executado, e o init esteja configurado para reinicializá-Io, isso certamente consumirá uma grande quantidade de recursos, pois o processo de iniciar o comando se repetirá indefinidamente. Para prevenir esse tipo de problema, o init verificará a frequência de reinicialização do comando e caso esta seja muito grande, o init aguardará automaticamente por cinco minutos antes de iniciá-lo novamente.
isso também é muito útil para quem vai fazer a LPI... =)