Inittab-Linux / Unix 명령

inittab - sysv 호환 init 프로세스에서 사용되는 inittab 파일의 형식

기술

inittab 파일은 부팅 할 때 및 정상 작동 중에 시작되는 프로세스를 설명합니다 (예 : /etc/init.d/boot, /etc/init.d/rc, gettys ...). Init (8)은 여러개의 runlevel을 구별하는데, 각각의 runlevel 은 시작된 자신의 프로세스 세트를 가질 수있다. 유효한 런레벨은 ondemand 항목에 대해 0 - 6A , BC 입니다. inittab 파일의 항목 형식은 다음과 같습니다.

id : runlevels : action : process

`# '으로 시작하는 줄은 무시됩니다.

idinittab (라이브러리 <5.2.18 또는 a.out 라이브러리로 컴파일 된 sysvinit의 버전은 한글 2 자)의 항목을 식별하는 고유 한 1-4 문자 시퀀스입니다.

참고 : gettys 또는 다른 로그인 프로세스의 경우 id 필드는 해당 tty의 tty 접미사 여야합니다 (예 : tty1의 경우 1) . 그렇지 않으면 로그인 계정이 올바르게 작동하지 않을 수 있습니다.

runlevels 는 지정된 동작을 수행해야하는 런레벨을 나열합니다.

action 은 취해야 할 조치를 설명합니다.

process 는 실행할 프로세스를 지정합니다. 프로세스 필드가`+ '문자로 시작하면, init 는 utmp와 wtmp를 처리하지 않는다. 이것은 자신의 utmp / wtmp 정리 작업을 고집하는 gettys에 필요합니다. 이것은 또한 역사적인 버그입니다.

runlevels 필드는 다른 런레벨에 대해 여러 문자를 포함 할 수 있습니다. 예를 들어, 123 은 프로세스가 런레벨 1, 2 및 3에서 시작되어야한다고 지정합니다. ondemand 항목에 대한 런레벨 에는 A , B 또는 C 가 포함될 수 있습니다. sysinit , bootbootwait 항목의 runlevels 필드는 무시됩니다.

시스템 런레벨이 변경되면 새로운 런레벨에 대해 지정되지 않은 실행중인 프로세스가 먼저 SIGTERM, 그 다음 SIGKILL로 종료됩니다.

조치 필드에 대한 유효한 조치는 다음과 같습니다.

부활하다

프로세스가 종료 될 때마다 프로세스가 다시 시작됩니다 (예 : getty).

기다림

프로세스는 지정된 런레벨이 입력 될 때 한 번 시작되며 init 은 종료를 기다립니다.

일단

지정된 runlevel이 입력되면 프로세스가 한 번 실행됩니다.

신병

시스템 부팅 중에 프로세스가 실행됩니다. runlevels 필드는 무시됩니다.

bootwait

이 프로세스는 시스템 부팅 중에 실행되며 init 은 종료를 기다립니다 (예 : / etc / rc). runlevels 필드는 무시됩니다.

떨어져서

이것은 아무것도하지 않습니다.

온 디맨드

온 디맨드 런레벨로 표시된 프로세스는 지정된 온 디맨드 런레벨이 호출 될 때마다 실행됩니다. 그러나 런레벨 변경은 일어나지 않습니다 ( ondemand 런레벨은`a ',`b'및`c '입니다).

initdefault

initdefault 항목은 시스템 부팅 후 입력해야하는 런레벨을 지정합니다. 존재하지 않으면, init 는 콘솔에 런레벨을 요구할 것입니다. 프로세스 필드는 무시됩니다.

sysinit

시스템 부팅 중에 프로세스가 실행됩니다. boot 또는 bootwait 항목 앞에 실행됩니다. runlevels 필드는 무시됩니다.

파워 웨이트

전원이 꺼지면 프로세스가 실행됩니다. 일반적으로 Init는 컴퓨터에 연결된 UPS와 통신하는 프로세스를 통해이를 알립니다. Init 는 프로세스가 완료 될 때까지 기다렸다가 계속 진행합니다.

파워 파일

init 이 프로세스의 완료를 기다리지 않는다는 점을 제외하고 powerwait에 관해서.

파워 톡

이 프로세스는 init 에 전원이 복원되었음을 알리는 즉시 실행됩니다.

힘내라.

이 프로세스는 외부 UPS의 배터리가 거의 비 었음을 init 에게 알리고 전원이 공급되지 않으면 실행됩니다 (외부 UPS 및 모니터링 프로세스가이 상태를 감지 할 수있는 경우).

ctrlaltdel

프로세스는 init 이 SIGINT 신호를 받으면 실행될 것입니다. 이것은 시스템 콘솔의 누군가 CTRL-ALT-DEL 키 조합을 눌렀 음을 의미합니다. 일반적으로 단일 사용자 수준으로 들어가거나 시스템을 재부팅하기 위해 일종의 종료 를 실행하려고합니다.

익히다

이 프로세스는 init 이 콘솔 키보드에서 특수 키 조합을 눌렀다는 신호를 키보드 핸들러에서받을 때 실행됩니다.

이 함수의 설명서는 아직 완전하지 않습니다. kbd-x.xx 패키지에 더 많은 설명서가 있습니다 (가장 최근의 것은 kbd-0.94로 작성되었습니다). 기본적으로 키보드 조합을 "KeyboardSignal"작업에 매핑하려고합니다. 예를 들어,이 용도로 Alt-Uparrow를 매핑하려면 키맵 파일에서 다음을 사용하십시오.

alt 키 코드 103 = KeyboardSignal

사용 예

다음은 이전 Linux inittab과 유사한 inittab의 예입니다.

# etc / getty 9600 tty2 3 : 1 : respawn : / etc / getty 9600 tty1 2 : 1 : respawn : / etc / getty 9600 tty2 3 : 1 : etc / getty 9600 tty3 4 : 1 : respawn : / etc / getty 9600 tty4

이 inittab 파일은 부팅 중에 / etc / rc를 실행하고 tty1-tty4에서 gettys를 시작합니다.

다른 런레벨을 가진보다 정교한 inittab (내부 주석 참조) :

# 실행할 수준 : 2 : initdefault : # 다른 것보다 먼저 시스템 초기화. si :: sysinit : /etc/rc.d/bcheckrc # Runlevel 0,6이 중지되고 재부팅됩니다. 1은 유지 관리 모드입니다. l0 : 0 : 대기 : /etc/rc.d/rc.halt l1 : 1 : 대기 : /etc/rc.d/rc.single l2 : 2345 : 대기 : /etc/rc.d/rc.multi l6 : 6 : 대기 : /etc/rc.d/rc.reboot # "3 손가락 경례"에서해야 할 일. ca :: ctrlaltdel : / sbin / shutdown -t5 -rf now # 런레벨 2와 3 : 콘솔에서 getty, 모뎀 포트에서 getty도 레벨 3. 1 : 23 : respawn : / sbin / getty tty1 VC 리눅스 2 : 23 : respawn : / sbin / getty tty2 VC 리눅스 3 : 23 : respawn : / sbin / getty tty3 VC 리눅스 4 : 23 : respawn : / sbin / getty tty4 VC 리눅스 S2 : 3 : respawn : / sbin / uugetty ttyS2 M19200

참고 사항

init (8), telinit ( 8)

중요 : man 명령 ( % man )을 사용하여 특정 컴퓨터에서 명령이 어떻게 사용되는지보십시오.