.

Cent Os 리눅스 시작과 종료

리눅스 부팅 과정에 대해 정리해보자.

참고도서 : CentOS 리눅스구축 관리실무 [한국리눅스유저그룹 회장 김태용 저]


리눅스 부팅과정

1. Bios 실행
 - 시스템 전원이 공급되면 메인보드의 ROM-Bios에 있는 Bios프로그램이 자동으로 실행된다.

2. 자체진단기능(post)수행
 - cmos, cpu, 메모리, 그래픽카드, 키보드, 마우스 등 각종 장치들의 이상유무를 검사하고 이들 장치를 초기화한다.

3. 부팅매체 검색과 부트로더 실행
 - 2번단계가 OK되면 부팅가능한 매체를 검색하여 부트로더를 불러들인다.

4. Grub 실행
 - 부트로더인 GRUB가 실행되면 BOIS는 종료된다. GRUB가 실행되고 부팅할 OS를 선택하면 커널을 찾아 메모리에 로드 후 다음실행한다.

5. init 프로세스 실행
 - /etc/inittab 파일에 설정된 내용을 실행한다

 [root@centos rc.d]# cat /etc/inittab
#
# 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:3: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
x:5:respawn:/etc/X11/prefdm -nodaemon



6. init에 의해 /etc/rc.d/rc.sysinit 실행
 - si::sysinit:/etc/rc.d/rc.sysinit (System Initialization)항목에 의해 /etc/rc.d/rc.sysinit 스크립트가 실행된다. 이 스크립트는 부팅레벨과 무관하게 한번만 실행이 된다.(자세한내용 141p)

7. 부팅레벨별 스크립트 실행
 - id:3:initdefault: 항목에 의해 결정된 런레벨에 따라 아래의 항목중 하나가 실행
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
 
7. /etc/rc.d/rc.local 실행
부팅시 실행해야하는 명령들을 적어두면 시스템 부팅시 가장 마지막에 실행되므로 시스템운영시 편리하다. rc.local파일을 편집기로 열어서 실행하고자 하는 명령을 한줄씩 줄단위로 적어두면 순차적으로 실행된다.
[root@centos rc.d]# cat rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local

8. CTRL+ALT+DEL 설정
이 3개의 키를 동시에 눌렀을 경우 /sbin/shutdown -t3 -r now라는 명령을 수행하게 된다.

9. 전원관리 설정
pt::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
(usp 전원이 부족할경우 2분후에 자동으로 시스템 종료)
pr::12345:powerokwait:/sbin/shutdown -c "Power Restored;Shutdown Cancelled"
(usp 전원이 재충전 되었을 경우 pf행에서 실행된 종료명령을 취소한다)

10. 6개의 가상콘솔 실행
콘솔 로그인을 위해 /etc/mingetty를 싱행한다.(143p)

11. 로그인 프롬프트
런레벨이 5라면 로그인을 위한 x윈도우화면이 나타남.
런레벨이 3이라면 로그인을 위한 로그인 프롬프트가 나타남.

로그인
리눅스로그인, 그래픽모드 로그인, 원격로그인 등이 있다.

시스템 종료와 재부팅
1. shutdown[옵션][시간][메시지]
shutdown -h 10 10분후에 시스템 종료
shutdown -r now 시스템을 재부팅한다
shutdown -c 예약된 시스템 종료명령을 취소한다.

2. halt [옵션]
역시 시스템종료시 사용

3. init 시스템의 런레벨을 변경하는 명령어(런레벨이란 시스템이 가동되는 방법을 레벨로나열)
 런레벨 의미 
 0  종료보드
 1  단일사용자 모드(시스템복구시에 사용)
 2  다중사용자 텍스트모드(NFS불가)
 3  다중사용자 텍스트모드
 4  사용안함
 5  다중사용자 그래픽모드
 6  재부팅모드

4. reboot [옵션]
시스템 재부팅할때
reboot : 로그남기고 재부팅
reboot -n sync : 로그남기지 않고 재부팅

5. exit, logout, ctrl+d
로그아웃


.