블로그 이미지
GUCCI

카테고리

전체보기 (111)
여행 (1)
기기 (2)
쇼핑 (0)
게임 (0)
etc. (6)
취업이야기 (0)
업무일지 (5)
리눅스 (38)
웹프로그래밍 (2)
네트워크 (4)
JAVA (17)
Android (0)
IOS (2)
LUA (8)
C/C++ (1)
Objective C (2)
SERVER (2)
그누보드4 (1)
MSSQL (2)
Programming (1)
자바스크립트 (4)
HTML/CSS (1)
LGNAS (0)
Total
Today
Yesterday

'/etc/inittab'에 해당되는 글 1건

  1. 2012.02.09 /etc/inittab 4

/etc/inittab

리눅스 / 2012. 2. 9. 08:26
/etc/inittab

하드웨어 인식과 초기화 작업을 마친 후 커널은 드디어 프로세스 ID(PID) 1번의 init를 실행시킨다.
시스템의 첫 번째 프로세스인 init는 실행하는 모든 프로세스들의 궁극적인 부모 역할을 하는 프로세스이다.

init가 실행될 때는 제일 먼저 /etc에 있는 inittab이란 파일을 읽어들인다.
이 파일은 init가 해야 할 모든 일이 적혀 있는 주문 양식(order form)이라 할 수 있다.

파일의 내용은 다음과 같다.

# # inittab This file describes how the INIT process should set up # the system in a certain run-level. # # Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org> # Modified for RHS Linux by Marc Ewing and Donnie Barnes # # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:5:initdefault: # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 # Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now # When our UPS tells us power has failed, assume we have a few minutes # of power left. Schedule a shutdown for 2 minutes from now. # This does, of course, assume you have powerd installed and your # UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" # If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 # Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/etc/X11/prefdm -nodaemon
레드햇 계열 리눅스에서는 0부터 6번까지의 실행 레벨을 사용한다.
그에 대한 의미는 위의 내용중 앞부분에 잘 나와 있다.

0 -> 시스템 중지(halt) 1 -> 단일 사용자 모드, 관리자인 루트만 로그인 2 -> NFS를 제외한 다중 사용자 모드 3 -> 모든 기능이 작동하는 다중 사용자 모드(콘솔모드) 4 -> 사용하지 않음 5 -> X 윈도우 로그인 모드(x 윈도우 모드) 6 -> 시스템 리부팅(reboot)

/etc/inittab의 id:5:initdefault:에서 지정한 숫자 5가 시스템의 기본 부팅 레벨이다.
X윈도우를 안쓰거나 부팅시 콘솔모드로 로딩되기를 윈할 때는 숫자 3으로 바꿔주면 된다.

이 실행 레벨을 변경할 때는 매우 주의해야 한다. 시스템 중지와 시스템 재부팅을 의미하는 0 또는 6을 기본값으로 잘못 지정하는 경우에는 시스템이 부팅되자 마자 중지되거나 리부팅되어 버리기 때문이다.

레벨 1번은 시스템의 다양한 초기화 과정을 모두 생략하고, 로그인 과정없이 즉시 루트 관리자 권한의 쉘 프롬프트 상태로 진입하는 레벨이다. 이 레벨은 시스템에 문제가 발생하여 루트가 수동으로 시스템을 고쳐야 할 필요가 있을 때 사용하는 레벨이다.
예를 들면 파일 시스템이 심하게 손상되어 자동 복구 방법이 통하지 않을 때 사용한다.
이 레벨로 진입하려면 GRUB에서 kernel이 포함된 라인 맨뒤에 single이라고 편집하여 부팅하면 된다.
참고로 부팅시 e를 누르면 편집모드로 되고 다시 하부 내용을 편집시는 e 그리고 편집을 마치고 엔터를 하면 편집이 완성되며 편집이 적용된 상태로 부팅을 하려고 하면 b를 누르면 된다.

4번경우는 어떠한 이유인지 사용치를 않는다. 아시는 분은 연락주길 바랍니다.^^;
원한다면 4번 레벨을 정의하여 사용할 수도 있다.

# System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6
rc.sysinit는 말 그대로 시스템 초기화에 관련되는 파일로 최초에 1회 실행되며,
init가 제일 먼저 실행시키는 매우 중요한 스크립트이다.
그 뒤 l0~l6은 각 실행 레벨에 대하여 어떤 명령을 수행할 것인지 정해준다.

# Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now
Ctrl키 Alt키 Delete키를 조합하여 동시에 누르면
shutdown -t3 -r now 명령이 실해된다.
즉 3초후 리부팅을 한다는 뜻이다.

# Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6
우리에게 login: 프롬프트를 보여주는 프로그램을 getty류의 프로그램이라고 한다.
기본적으로 1번부터 6번의 가상 콘솔에 대하여 mingetty라는 프로그램을 실행시킨다.
설정을 자세히 보면 실행레벨 2345에서 실행되도록 되며,
respawn이 의미하는 것은 프로그램이 죽으면 다시 복제하여 계속 실행하라는 뜻이다.
로그인한 후 모든 작업을 마치고 로그아웃하고 나면 다시 로그인 화면이 뜨는 이유는 바로 이 respawn 옵션을 보고 init가 계속적으로 mingetty 프로그램을 수행하기 때문이다.

설정을 변경후에는 다음과 같이 init에게 알려 적용시킨다.
# init q

'리눅스' 카테고리의 다른 글

mount  (2) 2012.02.09
APM 설치 옵션 정리  (1) 2012.02.09
OpenWrt The Boot Process  (5) 2012.02.09
vi 에디터 명령어  (2) 2012.02.08
VI 편집기 사용법  (1) 2012.02.08
Posted by GUCCI
, |

최근에 달린 댓글

글 보관함