\section{inittab}
\index{inittab}
\subsubsection{NOME }
inittab - formato do arquivo inittab usado pelo processo init compatível 
com o system~V  \subsubsection{DESCRIÇÃO }
O arquivo \textbf{inittab } descreve quais processos 
são iniciados na inicialização e durante a operação normal (por exemplo 
/etc/rc.d/init.d/boot, /etc/rc.d/rc, gettys...). \textbf{\textsf{Init}(8)} distingue múltiplos 
\textit{níveis de execução}, cada um dos quais com o seu próprio conjunto de processos 
a serem iniciados. Níveis de execução válidos estão entre \textbf{0 }-\textbf{6 } além de 
\textbf{A }, \textbf{B }, e \textbf{C } para entradas \textbf{online }. Uma entrada no arquivo \textbf{inittab } 
tem o seguinte formato:   

\textit{identificação }:\textit{níveis de execução }:\textit{ação }:\textit{processo 
}  

 Linhas começando com `\#' são ignoradas. \begin{dispitems}
\item [\textit{identificação } ] é uma seqüência 
única de 1 a 4 caracteres os quais identificam uma entrada no \textbf{inittab 
} (para versões do sysvinit compiladas com bibliotecas $<$ 5.2.18 ou bibliotecas 
a.out o limite é de 2 caracteres).  

Nota: para o getty ou outros programas 
de acessos, o campo \textit{identificação } deve ter o sufixo tty do tty correspondente, 
por exemplo \textbf{1 } para \textbf{tty1}. De outra forma o programa de acesso ao sistema 
poderá não funcionar corretamente. 
\item [\textit{níveis }] listas dos níveis de execução 
para os quais a ação especificada deverá ser ativada. 
\item [\textit{ação } ] descreve qual 
ação será executada. 
\item [\textit{processo } ] especifica o processo a ser executado. Caso 
o campo processo comece com o caracter `+',  \textbf{init} não criará registros em 
utmp e wtmp para aqueles processos. Isto é necessário para gettys que insistem 
em ter a sua própria manutenção de  utmp/wtmp. Este é também um problema 
histórico. 
\end{dispitems}


O campo \textit{níveis de execução } pode conter múltiplos caracteres 
para diferentes níveis. Por exemplo, \textbf{123 } especifica que o processo deve 
ser executado no níveis de execução 1, 2 e 3. O campo \textit{níveis de execução 
} para entradas \textbf{onlinedemand } devem conter um  \textbf{A}, \textbf{B}, ou \textbf{C}.  O campo \textit{níveis 
de execução } das entradas \textbf{sysinit }, \textbf{boot}, e \textbf{bootwait} é ignorado. 

Quando 
um nível de execução de sistema é alterado, e processos que sejam do novo 
nível de execução estejam sendo executados, eles serão primeiramente finalizados, 
inicialmente com o comando SIGTERM, e após com SIGKILL. 

Ações válidas para 
o campo \textit{ação } são: \begin{dispitems}
\item [\textbf{respawn } ] O processo será reinicializado sempre que finalizar 
(por exemplo getty). 
\item [\textbf{wait } ] O processo será iniciado uma vez, quando o nível 
de execução foi informado e  \textbf{init } irá esperar pela sua finalização. 
\item [\textbf{once 
} ] O processo será executado uma única vez, quando o nível de execução for 
 iniciado. 
\item [\textbf{boot } ] O processo será executado durante a inicialização do sistema. 
O campo \textit{nível de execução } é ignorado. 
\item [\textbf{bootwait } ] O processo será executado 
durante a inicialização do sistema, e   \textbf{init } esperará pela sua conclusão 
(por exemplo  /etc/rc). O campo \textit{níveis de execução } será ignorado. 
\item [\textbf{off } 
] Não faz nada. 
\item [\textbf{ondemand } ] Um processo definido no nível de execução \textbf{ondemand 
} (0nline) será executado sempre que o nível de execução \textbf{ondemand } for 
acionado. De qualquer forma nenhuma alteração de nível de execução será 
efetivada (níveis de execução \textbf{ondemand } são `a', `b', e `c'). 
\item [\textbf{initdefault } ] Uma 
entrada \textbf{initdefault } especifica o nível de execução padrão do sistema 
após a sua inicialização. Caso não exista,  \textbf{init} irá perguntar na console 
qual o nível de execução a ser utilizado. O campo \textit{processo } é ignorado. 

\item [\textbf{sysinit } ] o processo será executado durante a inicialização do sistema. 
Será executado antes das entradas \textbf{boot } ou \textbf{ bootwait }. O campo \textit{níveis de 
execução  } será ignorado. 
\item [\textbf{powerwait } ] O processo será executado quando \textbf{init 
} receber um sinal SIGPWR, indicando que há algo errado com a alimentação 
elétrica. \textbf{Init } irá esperar pela finalização do processo antes de continuar. 

\item [\textbf{powerfail } ] Assim com em \textbf{powerwait }, exceto que  \textbf{init } não aguarda a finalização 
do processo. 
\item [\textbf{powerokwait } ] O processo será executado quando \textbf{init } receber 
um sinal SIGPWR, alertando que há um arquivo chamado \textbf{/etc/powerstatus 
} contendo a palavra \textbf{OK}. Isto significa que a alimentação elétrica retornou 
novamente. 
\item [\textbf{ctrlaltdel } ] O processo será executado quando o \textbf{init } receber 
o sinal SIGINT. Isso significa que alguém na console pressionou a combinação 
de teclas \textbf{CTRL-ALT-DEL }. Tipicamente alguém deseja desligar o sistema ou 
executar algum tipo de \textbf{shutdown } para entrar em modo monousuário ou para 
reinicializar a máquina. 
\item [\textbf{kbrequest } ] O processo será executado quando \textbf{init 
} receber um sinal do gerenciador de teclado de que uma combinação especial 
de teclas foi pressionada.  

A documentação desta função não está completa 
ainda; mais informações podem ser encontradas nos pacotes  kbd-x.xx. Basicamente 
deve-se mapear uma combinação de teclado que execute uma ação de "sinal 
de Teclado". Por exemplo para mapear a tecla seta para cima para este propósito, 
use o seguinte em seus arquivos de mapeamento de teclado:   

alt keycode 
103 = KeyboardSignal  


\end{dispitems}
  \subsubsection{EXEMPLOS }
Este é um exemplo de um inittab que lembra 
a inittab antiga do Linux:   

 \# inittab para Linux 

 id:1:initdefault: 


 rc::bootwait:/etc/rc 

 1:1:respawn:/etc/getty 9600 tty1 

 2:1:respawn:/etc/getty 
9600 tty2 

 3:1:respawn:/etc/getty 9600 tty3 

 4:1:respawn:/etc/getty 9600 
tty4 

  

 O arquivo inittab executa \textbf{/etc/rc } durante a inicialização do 
sistema e inicia os gettys em tty1-tty4. 

Um \textbf{inittab } mais elaborado com 
diferentes níveis de execução (veja os comentários):   

 \# Nível de execução 
inicial  

 id:2:initdefault: 

 

 \# Inicialização do sistema antes de qualquer 
coisa. 

 si::sysinit:/etc/rc.d/bcheckrc 

 

 \# Nível de execução 0,6 é desligar 
e reiniciar, 1 é o  

 \# modo de manutenção. 

 l0:0:wait:/etc/rc.d/rc.halt 

 
l1:1:wait:/etc/rc.d/rc.single 

 l2:2345:wait:/etc/rc.d/rc.multi 

 l6:6:wait:/etc/rc.d/rc.reboot 


 

 \#O que fazer com a "saudação dos 3 dedos".  

 ca::ctrlaltdel:/sbin/shutdown 
-t5 -rf now 

 

 \# Níveis 2\&3: getty na console, nível 3 getty também na  

 
\# porta do modem. 

 1:23:respawn:/sbin/getty tty1 VC linux 

 2:23:respawn:/sbin/getty 
tty2 VC linux 

 3:23:respawn:/sbin/getty tty3 VC linux 

 4:23:respawn:/sbin/getty 
tty4 VC linux 

 S2:3:respawn:/sbin/uugetty ttyS2 M19200 

 

  

  \subsubsection{ARQUIVOS }
/etc/inittab 
 \subsubsection{AUTOR }
\textbf{Init } foi escrito por Miquel van Smoorenburg  (miquels@cistron.nl). 
 Esta página de manual foi escrita por Sebastian Lederer (lederer@francium.informatik.uni-bonn.de) 
e modificada por Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de).  
\subsubsection{VEJA AINDA }
\textbf{\textsf{init}(8)}, \textbf{\textsf{telinit}(8)}  
