INITTAB(5) | Linux System Administrator's Manual | INITTAB(5) |
NAME¶
inittab - 시스템 운영 시작에서 사용되는 init 프로세스의 처리 방법을 지정하고 있는 파일.
DESCRIPTION¶
inittab 파일은 시스템이 가동될 때 일반적인 운영 방법의 처리에 대한 것을 설명하고 있는 파일이다. (예를 들면, /etc/rc, gettys.. 등의 처리). init 프로세스는 다양한 runlevels을 구별해서 사용한다. 이 runlevels은 시스템의 부팅과 종료등에 사용된다. runlevels 값은 0-6이며, ondemand 위해 A, B, C 가 쓰인다. inittab 파일의 내용은 다음과 같은 형식을 취한다.
id:runlevels:action:process
- id
- inittab 안에서의 각
항목들에 대한
식별자. 최대 4자리.
(libc의 버전이 5.2.18보다
낮은 버전이나, a.out
라이브러리로 컴파일
했다면, 사용할 수
있는 최대 문자
갯수는 2개다.
주의: getty나 다른 로그인 프로세스의 사용에서는 id 필드에는 그 프로세스에서 사용하는 tty의 끝자리 숫자가 와야한다. 예를 들면, tty1은 1. 그렇지 않으면 바르게 작동되지 않을 수도 있다.
- runlevels
- 진행할 runlevel 지정.
- action
- action 지정
- process
- 실행할 프로세스 지정. 이 필드에 `+' 문자가 제일 앞에 오면, init는 그 처리과정에서 utmp, wtmp 처리를 하지 않게 한다. 이것은 gettys에서 스스로 utmp/wtmp를 처리할 경우 필요하다. 사용하는 gettys를 확인하기 바란다.
action에서 사용할 수 있는 값은 다음과 같다.
- respawn
- 그 프로세스가 종료되면 항상 다시 시작하게 한다.(예, getty)
- wait
- 지정한 runlevel이 되면 그 프로세스가 실행되고, init는 그 프로세스가 종료되기를 기다린다.
- once
- 지정한 runlevel이 되면 한번만 그 프로세스를 실행한다.
- boot
- 시스템 부팅 때에 그 프로세스를 실행한다. 이때는 runlevel 값이 무시된다.
- bootwait
- 시스템 부팅 때에 그 프로세스가 실행되는데, 이때 init는 그 프로세스가 종료되기를 기다린다.(예, /etc/rc). 이때는 runlevel 값이 무시된다.
- off
- 아무것도 아니다. 단지 id만 존재하는 것뿐.
- ondemand
- 지정한 ondemand runlevel이 호출 될 때마다 그 프로세스를 실행한다. 하지만 runlevel 값은 바뀌지 않는다. (ondemand runlevel 값은 'a', 'b', 'c' 이다.)
- initdefault
- 시스템 부팅 뒤에 실행될 runlevel을 지정한다. 만약 이 부분이 없으면, 어떤 runlevel로 실행할 것이지, 콘솔에서 물어본다. process 필드는 무시된다.
- sysinit
- 시스템 부팅을 할 때에 그 프로세스가 실행된다. 이것은 boot, bootwait로 지정된 프로세스보다 먼저 실행된다. process 필드는 무시된다.
- powerwait
- init가 SIGPWR 시그날을 받았을 때 그 프로세스가 실행된다. SIGPWR은 전원 공급에 문제가 생겼을 때 발생하는 시그날이다. Init는 그 프로세스 작업이 끝날 때까지 아무 작업도 하지 않는다.
- powerfail
- powerwait와 같지만, init는 그 프로세스 작업이 끝나기를 기다리지 않는다.
- powerokwait
- init가 SIGPWR 시그날을 받았을 때 그 프로세스가 실행된다. OK라는 단어를 포함하고 있는 /etc/powerstatus 파일이 SIGPWR 시그날을 제공한다.
- ctrlaltdel
- init가 SIGINT 시그날을 받았을 때 그 프로세스가 실행된다. SIGINT는 시스템 콘솔에서 누군가가 CTRL-ALT-DEL 글쇠를 눌렀을 때 발생하는 시스날이다. 이것은 전형적으로 컴퓨터를 리부팅하거나, 단일 사용자 모드를 사용하기 위해서 사용된다.
- kbrequest
- 콘솔 글쇠판에서
특별하게 지정된
글쇠가 눌려졌을 때,
발생하는 한 시그날을
init가 받았을 때, 그
프로세스를 실행한다.
이 부분에 대한 이야기는 아직 여기서 자세히 다루지는 못한다. 좀더 자세한 정보를 원하면 kbd-x.xx 팻키지의 문서들을 참고한다. (이 문서는 kbd-0.91 팻키지를 바탕으로 쓰여졌다.) 보통, 글쇠지정은 "Spawn_Console" action으로 한다. 예를 들어, Alt-윗화살표글쇠를 지정하고 싶으면, 글쇠지정파일(keymap)에 다음 내용을 추가한다.
alt keycode 103 = Spawn_Console
하나의 프로세스가 각각 다른 runlevel에서도 같이 실행되게 하려면, runlevel 필드에는 다른 runlevel 들을 함께 지정할 수 있다. 예, 123. ondemand 값으로 지정한는 A, B, C도 마찬가지다. action 값이 sysinit, boot, bootwait로 지정되어 있으면 그 runlevel 값은 무시된다.
runleve 값이 바뀌었을 때, 그 새로 바뀐 runlevel에 대한 처리 과정을 따로 지정하지않았다면, SIGTERM, SIGKILL과 함께, 그 프로세스는 종료된다.
EXAMPLES¶
이것은 옛날 linux에서 사용하던 inittab 파일이다.
# 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
다음 부분은 다른 runlevel에서의 각 설정들을 지정한다(주석 부분을 참고).
# 2 단계 정의 id:2:initdefault: # 최우선으로 시스템 초기화 si::sysinit:/etc/rc.d/bcheckrc # runlevel 0,6은 각각 halt와 reboot, 1은 단일 사용자 모드 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 # "3 finger salute"에서 어떻게.... ca::ctrlaltdel:/sbin/shutdown -t5 -rf now # runlevel 2&3: 콘솔 getty, level 3: 모뎀 getty 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
FILES¶
/etc/inittab
AUTHOR¶
Init was written by Miquel van Smoorenburg (miquels@cistron.nl), the manual page was written by Sebastian Lederer (lederer@francium.informatik.uni-bonn.de) and modified by Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de).
SEE ALSO¶
June 4, 1996 |