Skip to content

Latest commit

 

History

History
132 lines (127 loc) · 8.59 KB

2. 리눅스 설치 - 2 리눅스 부트.md

File metadata and controls

132 lines (127 loc) · 8.59 KB

날짜: 2023-01-10 00:57

주제: 부팅 과정, 부트 로더, 런 레벨과 시스템 종료, 재시작 명령어 암기 필요


메모:

Boot Manager
  • 부트 매니저는 사용자의 PC에 다양한 운영체제를 설치하여 사용할 경우, 부팅할 때 사용자의 PC에 설치되어 있는 운영체제 중 필요로 하는 운영체제를 선택하여 부팅하는 기능이다.
리눅스 부팅 과정
단계 진행과정 설명
1 단계 ROM-BIOS 실행 'POST(Power On Self Test)' 과정을 수행 후 하드웨어 이상 유무를 검사한 후 알림, 부트 로더 로딩
2단계 부트 로더 실행 부트 로더를 실행하여 커널을 로딩하고, 스와퍼 프로세스 호출 'LILO'와 'GRUB'가 있음
3단계 스와퍼 프로세스 실행 장치들의 드라이버 초기화, 'init'프로세스 실행
4단계 'init' 프로세스 실행 'init' 프로세스를 실행하여 '/etc/initab' 파일 읽음
5단계 부트 레벨 결정 부트 레벨을 결정
6단계 'rc.sysinit' 스크립트 실행 'etc/rc.d/rc.sysinit' 스크립트를 실행하여 시스템 초기화 작업 수행
7단계 'rcx.d' 스크립트 실행 '/etc/rcx.d' 스크립트를 실행하여 해당 부트 레벨 스크립트를 순차적으로 실행
8단계 X 윈도 실행 부트 레벨이 5일 경우 X 윈도 환경으로 부팅
Boot Loader
  • Bootstrap Loader의 약어이다.
  • 컴퓨터를 사용자가 사용할 수 있도록 하드디스크에 저장된 운영체제를 주기억장치에 적재해 주는 프로그램이다.
  • 운영체제가 실행되기 전에 미리 실행되어 커널이 안정적으로 실행되기 위한 모든 관련 작업을 완료하는 프로그램이다.
  • 하나의 시스템에 여러 개의 운영체제가 설치되어 있을 경우 선택하여 부팅할 수 있도록 한다.
  • LILO(Linux Loader)
    • 리눅스 운영체제에서만 사용 가능
  • GRUB(Grand Unified Bootloader)
    • 리눅스 운영체제 외에도 사용 가능
    • 'LILO'의 단점을 보완
    • 대화형이므로 커널의 경로와 파일 이름만 알면 부팅 가능
    • 메뉴 설정 환경을 지원하며, 대화형 모드로 부트 정보를 설정 가능
    • 리눅스의 명령어를 설치하기 위한 것이다.
    • 리눅스의 설치에 필요한 크기를 확보하기 위한 것이다.
    • 리눅스 부트 디스크를 만들기 위한 것이다.
Run Level
  • 리눅스 부팅의 마지막 단계에서 모든 프로세스의 부모 프로세스인 'init'이 생성된다.
  • 부팅 시 'init' 프로세스가 참조하는 것이 런 레벨이다.
런 레벨 운영 모드 설명
0 Halt 시스템 종료
1 Single User Mode 단일 사용자 모드(CLI)
2 Multi User Mode**(Without Networking)** 다중 사용자 모드(CLI)
3 Multi User Mode**(Only Console Login)** 다중 사용자 모드(CLI)
4 Not Used 사용하지 않음
5 Multi User Mode(With Display Manager) 다중 사용자 모드(GUI, X 윈도)
6 Reboot 재시작
로그인 및 로그아웃
  • 'root' 사용자 로그인 프롬프트 [root@localhost ~]#
  • 일반 사용자(test) 로그인 프롬프트 [test@localhost ~]$
  • 로그인 메시지 출력
    • /etc/issue : 로컬 접속 시 메시지 출력 (로그인 전)
    • /etc/issue.net : 원격 접속 시 메시지 출력 (로그인 전)
    • /etc/motd : 로컬, 원격 접속 시 로그인 성공 후 메시지 출력 (로그인 후)
  • 로그아웃
    • 로그아웃 명령어) logout, exit
    • 자동 로그아웃 설정) export TMOUT=300 300초 후에 자동 로그아웃
시스템 종료 명령어
shutdown
  • 시스템을 종료하거나 재시작하는 명령어
  • 현재 실행 중인 프로세스나 저장되지 않은 데이터를 안전하게 디스크에 저장하고, 모든 파일을 'umount' 시킨 후 시스템을 종료한다.
    • mount: 어떤 파일 시스템을 디렉토리 일부에 넣어서 이동가능하게 하는 작업
  • [root@localhost ~]# shutdown [옵션][시간][경고 메시지]
  • 옵션
    • - c ) 예약된 종료 명령을 취소
    • - h ) 시스템을 안전하게 종료
    • - k ) 종료 명령을 수행하지 않고 메시지만 전달
      • m ) m분 후에 시스템 종료
      • P ) 시스템 강제 종료
      • r ) 시스템 재시작
    • - t ) 지정 시간에 시스템을 종료하거나 재시작
  • ex) [root@localhost ~]# shutdown -h + 5 5분 후에 시스템 종료 [root@ localhost ~]# shutdown -r 18:00 18시에 시스템 재시작
init
  • 시스템을 종료하거나 재시작하는 명령어
  • [root@localhost ~]# init [런 레벨]
  • 0: 시스템 종료, 6: 시스템 재시작
halt
  • 시스템을 종료하는 명령어
  • [root@localhost ~]# halt -f
    • 옵션 없이 사용하면 모든 프로세스는 종료되지만 전원은 꺼지지 않는다.
    • 옵션(-f)을 지정할 경우 모든 프로세스가 종료되고 전원도 꺼진다.
poweroff
  • 시스템을 종료하는 명령어
시스템 재시작 명령어
reboot
  • 시스템을 재시작하는 명령어
  • 옵션 -f: 시스템 강제 재시작
기타
  • 서비스 데몬
    • 사용자가 직접적으로 제어하지 않고, 백그라운드에서 실행되면서 여러 작업을 수행하는 프로그램
  • 마운트 포인트
    • 디스크 장치와 디렉터리가 연결되어야 하는데 이때 연결되는 디렉터리
  • 리눅스 부트 디스크
    • 멀티 부트 로더인 'grub/lio'에 이상이 생겨 부팅이 제대로 되지 않는다는지 나중에 문제가 생겼을 때를 대비하여 만들어 두어야 하는 것
  • 사용자 정보
    • 리눅스 시스템의 사용자 정보
  • 콘솔 vs 터미널
    • 콘솔
      • 리눅스가 설치된 컴퓨터에 직접 연결된 입출력 장치
      • 시스템 관리 메시지, 특히 BIOS 또는 부트 로더, 커널, init 시스템 및 시스템 로거의 메시지를 위한 텍스트 입력 및 표시 장치
    • 터미널
      • 네트워크 장비나 케이블 등을 이용해서 보다 먼 거리까지 연결된 장치
      • 시스템에 데이터를 입력하거나, 표시하는데 사용하는 장치
  • fstab
    • 일반적으로 '/etc'에 위치하며, 시스템을 부팅 시 자동으로 마운트하기 위해 설정해야 하는 파일
    • 파일 시스템 정보를 저장하고 있으며, 리눅스 부팅시 마운트 정보를 저장하고 있다.
  • inittab
    • 리눅스 부팅 시 어떠한 방법으로 부팅할 것인지 설정할 수 있는 파일이다.
  • hosts
    • 운영체제가 호스트 이름을 IP 주소에 매핑할 때 사용하는 파일이다.
  • passwd
    • 사용자 로그인 계정, 암호화된 비밀번호, UID, GID, 설명, 홈 디렉터리, 로그인 셸이 저장되어 있는 파일이다.
  • gtk
    • 김프 툴킷의 줄인 말로, X 윈도 시스템을 위한 위젯 툴킷 가운데 하나이다.
  • gcc
    • GNU 프로젝트에서 개발되어 널리 쓰이고 있는 컴파일러이다.
  • rpm
    • 우리가 사용하는 운영체제 리눅스에서 가장 많이 사용되는 패키지 관리 툴 중 하나로서 레드햇 배포판에서 제공하는 것으로 리눅스의 설치와 제거, 업그레이드 등에 혁신적인 편리함을 제공하는 것.

출처(참고문헌)

  • 한 권으로 끝내기 리눅스 마스터 2급

연결문서

  • [[2. 리눅스 설치 - 1 리눅스 설치 및 유형]]
  • [[2. 리눅스 설치 - 3 파일 시스템과 파티션]]

Tag

  • #CS/Linux
  • #LinuxMaster