강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스의 부팅과정을 알아야하는 이유

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스의 부팅과정을 알아야하는 이유

 

 

 

 

리눅스 시스템이 어떤 과정을 거쳐서 부팅되는가에 대해서 각 단계별로 체계적으로 설명한다.

 

 

 

 부팅과정을 정확하게 이해한다면 시스템의 절반을 아는 것이나 다름없다.

 

 

 

 하지만 시스템 부팅과정을 이해한다는 것은 결코 쉬운 것이 아니다.

 

 

 

 이를 위해 필자는 부팅과정 순서도를 작성하고, 부팅 1단계부터 부팅 11단계까지를 자세히 풀어서 설명하고 있다.

 

 

 

 ROM-BIOS의 실행, 부트로더(GRUB)의 실행과 역할, 스와퍼(Swapper)의 역할, init프로세스의 실행과 역할, 부팅레벨의 결정단계, 그리고 /etc/rc.d/rc.sysinit스크립트의 실행내용들, /etc/rc.d/rcN.d/디렉토리의 스크립트파일들, 시스템 매직키의 설정, 시스템 전원공급 설정단계, 가상터미널 실행과 로그인창 실행, 그리고 X윈도우의 실행까지를 설명한다.

 

 

 

 이장의 마지막에는 /etc /inittab파일을 일고 이해하는 방법을 설명한다.

 

 

 

 

 

리눅스 부팅과정을 반드시 알아야하는 필연성에 대하여 필자는 다른 어떤 것도 다음 말보다 더 큰 이유는 없을 것이라 확신한다.

 

 

 

 

 

리눅스시스템 부팅과정을 정확하게 알아야만 시스템 장애처리를 정확하게 할 수 있다.

 

 

 

 

리눅스시스템의 장애발생 원인은 여러가지가 있지만 장애가 발생하는 시점은 거의 대부분 부팅하는 과정에서 발생한다.

 

 

 

 시스템관리를 해본 분이라면 필자의 이 말에 특히 동감할 것이라 생각한다.

 

 

 

 짧고 쉽게 말해서 우리가 부팅과정을 이해하고 알아야 하는 가장 큰 이유는 시스템 장애처리를 정확하게 하기 위함이다.

 

 

 

 이것을 알고 있어야한다.

 

 

 

 따라서 필자가 리눅스 부팅과정을 별도의 파트로 설명하고자 했던 것 또한 부팅과정을 이해하고 안다는 것이 결코 가볍지 않기 때문이다.

 

 

 

 모든 시스템이 마찬가지겠지만  부팅과정을 정확히 이해하는 것이 우리가 배우고자 하는 운영체제를 자기 것으로 완성하는 지름길이다.

 

 

 

 리눅스시스템의 부팅과정에서 발생하는 장애는 거의 60%이상이 커널패닉(kernel panic)이나 부트로더에러(GRUB Error)중 하나이다.

 

 

 

 이로 인하여 정상적인 부팅이 되지않고 부팅 중간에 시스템이 멈춰버리는 경우가 종종있다.

 

 

 

 우리는  흔히 이러한 상황을 시스템장애 또는 시스템다운이라고 표현한다.

 

 

 

 만약 이번에 설명하고 있는 부팅과정을 모두 이해하고 부팅 단계를 정확히 알고 있다면 이런 장애쯤은 쉽게 해결할 수 있을 것이다.

 

 

 

 

 

 

이밖에도 리눅스 부팅과정을 알아야하는 이유는 많이 있다.

 

 

 

 시스템이 부팅하면서 하드웨어에 대한 인식과정을 이해하는 것과 부팅하면서 리눅스시스템이 하드웨어를 어떻게 인식하는가에 대한 것, 그리고 리눅스커널이 어떻게 메모리로 올라와서 부팅이 완료되는가에 대한 것, 이런 것들이 모두 우리가 부팅과정을 이해해야하는 이유들이다.

 

 

 

 더 많은 이유들이 있지만 이 파트의 내용을 모두 공부하고 나면 스스로 알게 되리라 생각한다.

 

 

 

 

 

, 그럼 이에 대한 원론적인 얘기들을 하나씩 해보도록 하자. 리눅스시스템이 부팅하면서 콘솔(모니터)로 표시되는 수많은 text문자들(부팅메시지들)은 리눅스 서버의 문제점을 사전에 인지하는 중요한 열쇠가 되기도 한다.

 

 

 

 따라서 부팅과정에서 뿌려지는 수많은 부팅메시지들을 가볍게 넘기지 말고 자세히 살펴보아야 한다.

 

 

 

 

 

그리고 부팅이 되고 나면 /var/log/dmesg라는 텍스트파일을 살펴보기 바란다.

 

 

 

 이 파일에는부팅메시지가 텍스트 형태로 저장되어 있다.

 

 

 

 그리고 dmesg라는 명령어가 있는데 이것은 부팅메시지를 출력해서 확인해 볼 수 있는 명령어이다.

 

 

 

 부팅후에 이 명령어로도 부팅과정의 메시지들을 살펴볼 수 있으므로 유용하게 사용하기 바란다.

 

 

 

 

 

리눅스 부팅시에 화면으로 보여주는 장황한 부팅메시지와는 반대로 윈도우시스템의 부팅과정에서는 이와 같은 부팅메시지를 전혀 볼 수가 없다.

 

 

 

 하지만, 부팅메시지가 없는 것이 아니라 단지 사용자에게 보여주지 않을 뿐이다.

 

 

 

 MS Windows로고에 가려져 볼 수가 없을 뿐 부팅시에 뿌려지는 메시지는 리눅스시스템과 그 내용은 다르겠지만 동일하게 발생한다는 것도 함께 알아 두기 바란다.

 

 

 

 

 

단순히 어떤과정을 거쳐서 부팅된다라는 상투적인 설명보다는 리눅스시스템이 부팅되면서 어떤 파일을 메모리로 읽어들여서 어떤 작용을 하는가라는 다소 좀 복잡할지 모르는 부팅과정에 대한 실무적인 설명을 할 것이다.

 

 

 

 

 

리눅스 시스템관리자가 부팅과정과 그 절차를 모른다는 것은 자동차에 대해서는 전혀 모른채 운전만 할 줄 아는 사람에 비유할 수 있을 것이다.

 

 

 

 즉 자동차의 바퀴가 펑크가 났을 때에 스스로 교체할 수 있어야하고 오래된 엔진오일도 스스로 교체할 수 있어야 하고, 간단한 워셔액의 보충, 퓨즈교환등도 스스로 할 수 있어야 할 것이다.

 

 

 

 물론, 카센터나 서비스센터에 가면 모두 해주겠지만 비용뿐아니라 많은 시간이 소요된다.

 

 

 

 쉴새없이 운영되어야하는 리눅스시스템을 스스로 할 수 있는 간단한 정비를 위하여 몇일씩 쉬어야한다면 시스템관리자로서는 자격미달이다.

 

 

 

 

 

지금 여기서 리눅스시스템의 부팅과정에 대해서 배운다는 것은 부팅과정 자체를 목적으로 하는 것이 아니라 부팅과정을 이해하고 그 절차를 알게 됨으로써 리눅스시스템의 장애발생시에 대처할 수 있는 능력을 가지고 보다 신속하게 장애시스템을 정상화할 수 있는 것이 그 목적이라고 할 수 있다.

 

 

 

 부팅과정을 이해하고 그 부팅절차를 알고 있다는 것은 리눅스시스템 관리자에게는 위급할 경우에 큰 힘이 되어주므로 이번 절의 설명이 다소 복잡하더라도 두세번 읽어서 여러분들 것으로 소화해 두기 바란다.

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,039 명
  • 현재 강좌수 :  35,848 개
  • 현재 접속자 :  102 명