Man page - inittab(5)
Packages contains this manual
Available languages:
en fr es pl pt hu ja zh_TW zh_CN deManual
INITTAB
NOMEDESCRIÇÃO
EXEMPLOS
FICHEIROS
AUTOR
VEJA TAMBÉM
NOME
inittab - formato do ficheiro inittab usando pelo processo init compatível com sysv
DESCRIÇÃO
O ficheiro inittab descreve quais processos são iniciados no arranque e durante a operação normal (ex. /etc/init.d/boot, /etc/init.d/rc, gettys...). O init (8) distingue múltiplos runlevels , cada um dos quais pode ter o seu próprio conjunto de processos que é arrancado. Os runlevels válidos são 0 - 6 mais A , B , e C para entradas ondemand . Uma entrada no ficheiro inittab tem o seguinte formato:
id : runlevels : action : process
As linhas que começam com ‘#’ são ignoradas.
|
id |
é uma sequência única de 1-4 caracteres que identifica uma entrada em inittab (para versões do sysvinit compiladas com a antiga libc5 (< 5.2.18) ou bibliotecas a.out o limite é de 2 caracteres). |
Nota: tradicionalmente, para o getty e outros processos de login, este valor do campo id é mantido no mesmo que o sufixo do tty correspondente, ex. 1 para tty1 . Alguns programas antigos de contabilidade de login podem esperar isto, apesar de não me lembrar de nenhum.
runlevels
lista os runlevels para os quais a acção especificada deve ser tomada.
|
action |
descreve qual a acção que deve ser tomada. |
process
specifies the process to be executed. If the process field starts with a ‘+’ character, init will not do utmp and wtmp accounting for that process. This is needed for gettys that insist on doing their own utmp/wtmp housekeeping. This is also a historic bug. The length of this field is limited to 253 characters. Anything beyond 253 will result in a log warning and the process command line being skipped/ignored.
Please note that including certain characters in the process field will result in init attempting to launch a shell to interpret the command contained in the process field. The characters which will trigger a shell are: ˜‘!$ˆ&*()=|}[];"’<>?
Em sistemas que não tenham uma shell para ser lançada ou quais não se deseja usar uma shell para interpretar o campo do processo, o campo de processo pode ser prefixado com o símbolo @. O @ irá ser ignorado e tudo o que se segue será tratado como o comando a ser lançado, literalmente, pelo serviço init .
Em casos que ambos sinais + e @ vão ser usados (para desligar os relatórios e interpretação da shell) coloque o sinal + antes do símbolo @. Ambas bandeiras irão ser lidadas e depois tudo o que se segue ao @ irá ser lidado pelo init
O campo runlevels pode conter vários caracteres para diferentes runlevels. Por exemplo, 123 especifica que o processo deve ser iniciado nos runlevels 1, 2, e 3. Os runlevels para entradas ondemand podem conter um A , B , ou C . O campo runlevels das entradas sysinit , boot , e bootwait é ignorado.
Quando o runlevel do sistema é mudado, quaisquer processos a correr que não estão especificados para o novo runlevel são mortos, primeiro com SIGTERM , e depois com SIGKILL .
As
acções válidas para o campo
action
são:
respawn
O processo será reiniciado sempre que termine (ex. getty).
|
wait |
O processo irá ser iniciado assim que se entra no runlevel especificado e o init irá esperar pelo seu término. |
||
|
once |
O processo irá ser executado uma vez quando se entra no runlevel especificado. |
||
|
boot |
O processo será executado durante o arranque do sistema. O campo runlevels é ignorado. |
bootwait
O processo será executado durante o arranque do sistema, enquanto init espera pelo seu término (ex. /etc/rc). O campo runlevels é ignorado.
|
off |
Isto não faz nada. |
ondemand
Um processo marcado com um runlevel ondemand será executado sempre que o runlevel ondemand especificado é chamado. No entanto, nenhuma mudança de runlevel irá ocorrer (os runlevels ondemand são ‘a’, ‘b’, e ‘c’).
initdefault
Uma entrada initdefault especifica o runlevel em que se deve entrar após o arranque do sistema. Se não existir nenhum, o init irá pedir um runlevel na consola. O campo process é ignorado.
sysinit
O processo será executado durante o arranque do sistema. Será executado antes de qualquer entrada boot ou bootwait . O campo runlevels é ignorado.
powerwait
O processo será executado quando a energia vai abaixo. O init é geralmente informado disto por um processo que fala com uma UPS ligada ao computador. O init irá esperar que o processo termine antes de continuar.
powerfail
Como para powerwait , excepto que o init não espera pelo final do processo.
powerokwait
Este processo será executado assim que o init é informado que a energia foi restaurada.
powerfailnow
Este processo será executado quando é dito ao init que a bateria da UPS externa está quase vazia e a energia está a falhar (desde que a UPS externa e o processo de monitorização sejam capazes de detectar esta condição).
ctrlaltdel
O processo será executado quando o init receber o sinal SIGINT . Isto significa que alguém na consola do sistema pressionou a combinação de teclas CTRL-ALT-DEL . Tipicamente alguém quer executar alguma espécie de shutdown seja para ir para nível de único-utilizador ou para reiniciar a máquina.
kbrequest
O processo será executado quando o init receber um sinal a partir do manipulador do teclado que uma combinação especial de teclas foi pressionada no teclado da consola.
A documentação para esta função ainda não está completa; pode ser encontrada mais informação nos pacotes kbd-x.xx (o mais recente foi kbd-0.94 na altura que isto foi escrito). Basicamente você deseja mapear alguma combinação do teclado para a acção "KeyboardSignal". Por exemplo, para mapear Alt-SetaCima para este objectivo use o seguinte no seu ficheiro keymaps:
alt keycode 103 = KeyboardSignal
EXEMPLOS
Isto é um exemplo de uma inittab que é semelhante à inittab antiga do Linux:
# inittab for
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
Este ficheiro inittab executa /etc/rc durante o arranque e inicia gettys em tty1-tty4.
Uma inittab mais elaborada com diferentes runlevels (veja os comentários no interior):
# Nível
para onde correr
id:2:initdefault:
# Script de
configuração/inicialização do
sistema durante o arranque.
si::sysinit:/etc/init.d/rcS
# O que fazer
em modo de único-utilizador.
˜:S:wait:/sbin/sulogin
# /etc/init.d
executa os scripts S e K na comutação
# do runlevel.
#
# Runlevel 0 é parar.
# Runlevel 1 é único-utilizador.
# Runlevels 2-5 são multi-utilizador.
# Runlevel 6 é reiniciar.
l0:0:wait:/etc/init.d/rc
0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# O que fazer
na "saudação dos 3 dedos".
ca::ctrlaltdel:/sbin/shutdown -t1 -h now
# Runlevel 2,3:
getty on virtual consoles
# Runlevel 3: getty on terminal (ttyS0) and modem (ttyS1)
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
S0:3:respawn:/sbin/getty -L 9600 ttyS0 vt320
S1:3:respawn:/sbin/mgetty -x0 -D ttyS1
FICHEIROS
/etc/inittab
AUTOR
init foi escrito por Miquel van Smoorenburg . Este manual foi escrito por Sebastian Lederer e modificado por Michael Haardt .
VEJA TAMBÉM
init (8), telinit (8)