리눅스 부팅 프로세스
리눅스 부팅 프로세스
1. Power ON & ROM BIOS
-전원이 들어오면 CPU가 ROM에 저장된 BIOS 실행
- BIOS는 POST을 수행하여 하드웨어 장치들을 하나씩 인식하며 이상 유무 확인
- 부팅 장치에서 Bootsector에 MBR을 읽어드려 부트로더를 실행
리눅스 부트로더 - LILO -> 현재 사용 안함
GRUB -> 현재 널리 사용하고 있는 부트로더
2. 부트로더 (GRUB) 실행
-부팅메뉴 (/boot/grub/grub.conf) 실행 , 부팅하고자하는 운영체제를 선택 - Kernel 이미지 (/boot/vmlinuz-*)가 메모리 로딩이 되고 , 동작에 필요한 프로세스를 생성한다. 3. init 프로세스 실행 (PID=1) - /etc/inittab 파일을 참고하여 설정된 RunLevel 실행 - 부팅 레벨이 결정되면 /etc/rc.d/rc.sysinit 스크립트 실행 (PATH변수 설정 ,네트워크 설정 ,스왑메모리, 호스트 등등) - 해당 Runlevel에 맞는 /etc/rc.d/rc#.d/* 디렉토리에 스크립트가 실행 S로 시작하는 파일은 해당 부팅 레벨로 부팅시 자동으로 실행되는 파일 K로 시작하는 파일은 자동으로 실행되지 않는 파일 숫자 파일들이 실행되는 우선순위 RunLevel - 시스템을 어떤 방식으로 부팅할 것인가를 분류해 놓은 것 0 - 시스템 종료 1 - 싱글유저모드(안전 모드) 2 - 네트워크 기능이 없는 다중 사용자 모드 3 - 모든 네트워크 기능을 지원하는 다중 사용자 모드 4 - 사용되지 않음 5 - X-Window 6 - 시스템 재부팅 root 패스워드 분실 시 런레벨 1 (싱글 모드) - timeout 전에 엔터 키 입력 후 , e키 클릭 들어가서 수정 - single or 1 입력 후 부팅 GRUB에 password 설정 #grub grub >md5crypt Password : $1$/4tmG/$af6lPOuXQnASdyh5TkVol/ qrub > quit 종료 vi /boot/grub/grub.conf password -md5 $1$/4tmG/$af6lPOuXQnASdyh5TkVol/
#reboot -> grub 부트로더 메뉴로 진입
#chkconfig
-데몬의 실행 레벨 정보를 관리 해주는 프로그램
#chkconfig --list //리스트 확인
#chkconfig --list [데몬이름]
#chkconfig --[add|del] [데몬이름]
#chkconfig --level # [데몬이름] [on|off|reset]
런레벨 3에서는 sshd 데몬이 부팅 시 자동으로 실행되지 않도록 설정
# chkconfig --level 3 sshd off
#reboot 후에 Xshell을 이용하여 해당 Server-A 접속 == 안됌
service sshd start //sshd 데몬 실행
Xshell 접속 시도 //가능
시스템 초기화및 관리 프로세스
-과거 system V init방식으로 시스템 초기화(init -> inittab -> rc.sysinit)
-현재 system V init + Upstart 방식을 함께 사용(init ->rcS.conf ->rc.conf -> rc.local)
-미래 Systemd