[시스템] 시스템 종료 (shutdown) 하기

시스템을 shutdown 하는 방법에는 여러가지 가 있습니다. 각 방법마다 다소 쓰이는

용도의 차이가 있지요. 여기서는 시스템을 shutdown 시키는 각 방법과 그 차이점에

대해 얘기 하고자 합니다.

사용자는 init 를 수작업으로 실행시킬수 있으며, 시스템 실행 레벨을 바꾸고 싶으면

명령행에서 원하는 실행레벨을 지정하면 된다. 예를 들면 init 1 라고 하면 현재의

실행 레벨을1로 바꾸라는 뜻이다. 즉 시스템은 바로 정지 된다. 허나 다중 사용자 모

드(Level 3) 에서는이 명령을 피해야 할것이다. 이는 시스템이 정지된다는 사실을

다른 사용자에게 알리지 않은채 바로 시스템이 다운으로 들어가기 때문이다.

일반적으로 다중사용자 모드에서 시스템들 다운 시킬때는 shutdown 이라는 명령

을 사용한다. shutdown 은 사스템 다운 메세지를 로그인을 통해 접속한 모든 사용

자에게 전달하게 된다. 이밖에도 여러가지 옵션이 있다.

: shutdown [option] time [message]

ex ) shutdown -h now : 시스템을 바로 다운 시켜라.

     shutdown -r now : 시스템을 바로 재부팅 시켜라 .

     shutdown -r +10 : 시스템을 10분 뒤에 재부팅 시켜라.

     shutdown -c     : 예약된 shutdown 명령을 취소 한다.

이정도 옵션이 주로 사용하는 shutdown 명령 옵션들이다.

서버를 재 재부팅 하기 위해서는 init 6 을 사용하면 된다. 허나 앞서 말한 init 1 과

마찬가지로 아무런 경고 메세지 없이 재부팅을 함으로 해서 다른 사용자의 작업

내용이 모두 날아가 버리는 사태를 빚을수 있기에 다중 사용자 모드에서는

shutdown -r now 명령을 사용하길 권하는 바이다.

그리고 shutdown -r +10 의 명령어로 10분 뒤에 재부팅을 하라는 명령어를 내리면

그 순간 접속되어진 사용자들에게는 메세지가 날아가지만, 그이후에 들어오는 사용

자들은 재부팅 사실을 알수가 없다. 그러므로 이후의 사용자의 접속을 막아야 할것

이다.

물런 왜 접속 금지가 되는 이유역시 접속 시도 사용자에게 알려 주어야 할것이다.

이런식으로 시스템이 곧 재부팅 할것이니 나중에 다시 로그인 하라는 메세지를

/etc/nologin 이라는 텍스트 파일을 하나 만들면 된다. 그러나 재부팅 뒤에는

반드시 이 파일을 제거 하거나 이름을 바꿀수 있도록 해야 할 것이다.

이밖에도 긴급 사항시 콘솔에서 Ctrl + Alt + delete 키를 누름으로 해서 재부팅

을 시킬수있다. 이는 /etc/inittab 에 다음 라인이 있기 때문에 가능하다.

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

실제로 이는 시스템 콘솔의 사용자라면 누구나 위 방법으로 서버를 재시동

시킬수도 있다.

이는 보안상 문제가 될수 있다. 그러므로 이를 방지하기 위해서 위 방법을

이용하여 시스템을 shutdown 시킬수 있는 권한을 갖는 사용자 리스트를

포함한 /etc/shutdown.allow 파일을 만든다.

단 root 계정은 굳이 추가할 필요는 없다.

이밖에도 시스템 과부하로 인해 쉘에 명령을 내릴수 없는 상항에서 안전하게

시스템을 재가동 시킬수 있는 방법으로 매직키를 사용할수가 있다.

ALT + SysRq (print screen) + S : Sync

ALT + SysRq (print screen) + E : Term signal

ALT + SysRq (print screen) + U : Umount all

ALT + SysRq (print screen) + B : Boot

위와 같이 차례대로 눌러주면 안전하게 재부팅 시킬수 있다.

물런 커널 컴파일시 “MagicSysRq Key” 부분을 y 로 컴파일을 해야 한다.

서진우

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.