OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 리눅스 부팅과 종료 - 요약

주누다 2015. 4. 19. 15:11
반응형


리눅스 시스템의 부팅

- PC의 전원을 켜는 순간 부터 리눅스가 완전히 동작하여 로그인 프롬프트가 출력될 때까지의 과정

1) 바이오스 단계

- PC에 장착된 기본 하드웨어를 검사하고, MBR과 부트 로더를 로딩


2) 부트 로더 단계

- 대표적인 부트 로더는 GRUB이며, 리눅스 커널을 메모리로 로딩


3) 커널 초기화 단계

- 시스템에 연결된 장치를 검사하고, 커널 쓰레드를 생성


4) init 실행 단계

- 다양한 서비스 데몬을 시작


5) 로그인 프롬프트 출력

- 모든 데몬을 동작시키고 끝으로 로그인 프롬프트를 출력




init 프로세스

- init 프로세스는 PID가 1번인 프로세스로 부팅 과정에서 커널에 의해 실행.

 각종 서비스를 제공하는 다른 프로세스들을 동작시키는 역할


- 유닉스나 리눅스 대부분이 스크립트를 순차적으로 실행하는 기존의 방식을 바꿔

 이벤트 기반으로 동작하는 방식으로 init을 대체. 우분투는 자체적으로 개발한 'upstart' 를 init 대신 사용


- 'upstart' 관련 파일과 디렉터리 ; /etc/init/작업명.conf


- 'upstart' 스크립트 실행 방법

 * initctl [start | stop | restart | reload | status] 작업명

 * [start | stop | restart | reload | status] 작업명


- 기존 init 형식의 스크립트 파일은 '/etc/init.d' 디렉터리에 있음


- 기존 init 스크립트 실행 방법

 * service 스크립트명 [start | stop | restart | status]

 * '/etc/init.d/스크립트명 [start | stop | restart | status]'




 런레벨

- init은 시스템의 단계를 일곱개로 구분하여 정의

- 단계에 따라 쉘 스크립트를 실행. 이 단게들을 런레벨

 우분투의 런레벨

 런레벨

 의미

 관련 스크립트의 위치

0

시스템 종료

/etc/rc0.d

1, S, s

단일 사용자 모드

/etc/rc1.d, /etc/rcS.d

2

그래피컬 다중 사용자 모드+네트워킹(기본 값)

/etc/rc2.d

3

런레벨 2와 동일

/etc/rc3.d 

4

/etc/rc4.d

5

/etc/rc5.d

6

시스템 재시작

/etc/rc6.d




리눅스 시스템의 종료

1) shutdown 명령 사용

- shutdown -h now : 즉시 시스템 종료

- shutdown -h +1 "System down" : 사용자들에게 메시지를 송신 후 1분 뒤에 시스템 종료

- shutdown -r +1  : 1분 후에 시스템 재시작

- shutdown -c : shutdown 명령 취소

- shutdown -k 1 : 사용자들에게 메시지만 송신

2) 런레벨 변경

- telinit 0 : 런레벨 0(시스템 종료)으로 변경

- telinit 6 : 런레벨 6 (시스템 재시작)으로 변경

3) 기타 변경

- halt, poweroff, reboot

- hlat, poweroff 는 reboot 의 링크 파일




데몬 프로세스

- 데몬은 백그라운드에서 동작하면서 특정한 서비스를 제공하는 프로세스

- 동작방식 : 독자형, 슈퍼 데몬에 의한 호출형

- 슈퍼 데몬 : 다른 데몬을 관리하는 데몬(ineted, xineted) - 네크워킹 관련 데몬만..(?)

- 조상 데몬

 * init : 프로세스 대부분의 조상 데몬(PID 1번)

 * kthreadd : 커널 쓰레드 데몬으로 커널 관련 프로세스의 조상(PID 2번)

- 주요 데몬 : atd, crond, dhcpd, httpd, lpd, named, routed 등




부트 로더

- 커널을 메모리에 로딩하는 역할을 함

- 리눅스 부트 로더 : LILO와 GRUB

- GRUB : LILO의 단점을 개선한 것으로 많은 리눅스의 기본 부트 로더로 사용

- GRUB 관련 디렉터리와 파일

 * '/boot/grub/grub.cfg' 파일 : GRUB 기본 설정 파일

 * '/etc/grub.d' 디렉터리 : GRUB 스크립트들의 위치

 * '/etc/default/grub' 파일 : GRUB 메뉴 설정 내용 저장

- 단일 사용자 모드로 부팅 : 시스템을 검사하고, 계정의 암호를 분실하여 복구할 때 사용

- 복구 모드 : 시스템이 부팅되지 않는 경우에 시스템을 복구할 때 사용




반응형