2011. 8. 13. 06:19

♧ 커널이 시작된후에, init 프로세스를 시스템에서 제어한다.

init 프로세스는 시스템에서 처음으로 실행하는 프로세스(PID 1), /etc/inittab 파일 내용을

기반으로 직접 다른 프로세스를 시작, 기본 런 레벨, init 스크립트의 런 레벨 싱행 설정을 한다.

 

기본 런 레벨은 일반적으로 데스크탑 시스템은 5, 서버시스템은 3으로 설정.

대부분 리눅스 관리자는 기본적인 기능을 혼자하고 서비스가 선택된 레벨에서 켜져있는지

꺼져있는지 초점을 맞춘다. 우분투(Ubuntu)에서 런 레벨 스크립트를 시작하는 메커니즘과

비슷한 시스템은 System V Init 기능, AT&T의 유닉스 System V 시스템을 기반으로 한다.

우분투(Ubuntu)는 init 시스템보다 upstart 시스템을 사용하지만

init 혹은 telinit 명령어로 런 레벨을 여전히 변경한다.

 

▶ 시스템 초기화 스크립트 및 런 레벨 변경 작업:

$ runlevel

N 2

현재와 이전 런 레벨 표시

$ sudo init 5

현재 런 레벨 5(X 데스크탑)로 변경

$ sudo init q

파일의 변경 프로세스 시작 혹은 중지

$ sudo /etc/init.d/ntp start

Starting NTP server ntpd

즉시 Samba 서비스 시작

 

◎ 각각의 서비스가 /etc/init.d 디렉토리에 있는 쉘 스크립트가 함께 제공 되며,

각각의 서비스는 시작 혹은 정지 옵션을 지원한다.

 

▶ service의 시작과 중시 서비스 사용법

$ /etc/init.d/ntp

Usage: /etc/init.d/ntp {start|stop|restart|try-restart|…}

옵션이 없으면 사용법 출력.

$ sudo /etc/init.d/ntp restart Restart

* Stopping NTP server ntpd

* Starting NTP server ntpd

NTP 서비스 재시작(처음에 정지, 그다 음 시작)

[OK]

[OK]

$ sudo /etc/init.d/ntp try-restart Restart

* Stopping NTP server ntpd

* Starting NTP server ntpd

NTP 서비스 재시작(이미 실행중)

[OK]

[OK]

$ sudo /etc/init.d/ntp force-reload

* Stopping NTP server ntpd

* Starting NTP server ntpd

설정파일 설정 다시 읽어들임

[OK]

[OK]

$ sudo /etc/init.d/ntp status

* NTP server is running.

NTP 서비스가 실행중인 검사(smbd)

$ sudo /etc/init.d/ntp stop

* Stopping NTP server ntpd

NTP 서비스 정지

[OK]

/etc/init.d 안에 포함된 init 스크립트가 이러한 방법으로 시작하지만

모든 스크립트가 보여주는 것처럼 지원하지 않는다.

 

 

init 0(셧다운), init 6(재부팅)을 포함하여, 언제든지 런 레벨을 변경하기 위해 init 명령어를 사용할 수 있지만,

리눅스 정지를 위한 구체적인 명령어를 사용.

halt, reboot, poweroff, shutdown 같은 명령어의 이점은 셧다운 하기 전에 일부 기능을 멈추도록 하는 옵션이 포함.

$ sudo reboot

컴퓨터 재부팅

$ sudo halt -n

셧다운 하기 전에 하드드라이브에서 동기화를 하지 마라.

$ sudo halt -h

중단하기 전에 대기 모드에서 하드드라이브를 써라.

$ sudo shutdown 10

유저에게 경고 후 10분 있다가 셧다운

$ sudo shutdown -r 10

유저에게 경고 후 10분 있다가 재부팅

$ sudo shutdown 10 'Bye!'

셧다운 전에 유저에게 사용자 정의메시지를 보냄

 

Posted by devanix