출처 : 유튜브 따라하면서 배우는 it- 리눅스 고급과정
전원을 켜게 되면 POST라는 과정을 거침.
(라우터 할 때도 이런 과정, 컴퓨터가 수행하는 과정 리눅스가 수행하는 게 아님. 윈도우도 이걸 거친다는 말임. 하드웨어 제대로 안 되어 있으면 제대로 부팅이 안 되는 경우가 있음.)
BIOS : basic 입출력 시스템. 부팅 장치를 검색함. 하드웨어/usb/원격지에 부팅 장치가 있는지. 하나씩 찾음. bios설정에 보면 순서를 지정할 수 있음.
bios에서 부팅 순서 정하는 것 가능
검색 되었으면
Grub이라는 부트 로더(프로그램)가 실행(centos에서는)
Grub, 부팅할 커널(장치)을 선택할 수 있게 함.
실행할 커널의 목록을 보여주게 됨.
커널이 메모리에 올라가게 되고, PID 1번 프로세스가 실행. 예전에는 init, 요즘에는 systemd
PID 1번 : 기타 필수 프로그램 실행
부팅 완료
cat /boot/grub2/grub. cfg | grep Core
부팅될 때 메시지가 지나갈 때
시스템의 상태를 나타내는 런 레벨
레벨 | 설명 |
---|---|
0 | halt(시스템 종료)::Run-level을 0으로 변경하면 시스템 종료 |
1 | 1- 다른 사람이 동시에 접속해서 사용할 수 없음. ex)시스템 점검, 패스워드 분실 시 복구 등일 때 Single User Mode:: 시스템 복원 모드:: 기본적으로 "관리자 권한"을 획득(주로 파일 시스템 점검, 패스워드 분실했을 때 또는 복구할 때 사용) |
2 | 2- 일부 서비스가 제공이 안 되는 런레벨 Multi User Mode without NFS(Network File System:: 공유파일) - 네트워크를 사용치 않는 텍스트 유저 모드 |
3 | 3 - 텍스트 유저모드이기 때문에, 콘솔창 하나만 떠있는 런레벨이라고 생각 - Full multi User Mode - 거의 모든 자원 사용 가능한 ⭐텍스트 유저 모드 |
4 | Unused (사용x) |
5 | level 3과 비슷하나 x윈도우가 실행된 그래픽 유저 모드(⭐그래픽 환경도 제공해줌) |
6 | 6- Reboot(시스템 재부팅) ::Run-level을 6으로 변경하면 시스템 재부팅-> 종료됐다가 다시 부팅됐다가 3이나 5로 다시 변경이 됨 |
who -r
로 확인 가능런레벨
하면 ex) 0하면 종료, 6이면 시스템 재부팅, 싱글유저모드이면 1번🌟systemd
로 넘어감. https://prolite.tistory.com/577 을 참조하여 BIOS 모드로 진입한다.
Boot : 부팅장치를 검색하는 순서가 나와있다.
USB 먼저 할 지, 하드디스크를 먼저할 지 찾게 되는 것.
집에서 vmware 할 때 가상머신 안되는 사람은 cpu의 가상화 기능이 꺼져있어서 그럼.
BIOS가 부팅장치를 어떻게 찾냐면, HxD라고 있는데 실제 16진수로 되어있는것을 볼 수 있음. 윈도우에서는 연결프로그램을 이용해서 특정 프로그램으로 실행되게 할 수 있음.
(상식) 파일을 구분하는건, 파일의 내용. 윈도우에서는 실행 파일 등 exe 파일들은 MZ.. 로 시작
🖥️ 부팅 과정
전원 ON-> BIOS 실행 -> GRUB(부팅 로더) 실행 -> swapper 프로세스
-> init 프로세스 -> Login 프롬프트 출력
/boot/grub/grub.conf 들어가보기
vi /boot/grub2/grub.cfg
87번라인부터
커널 파일을 실행하라고 지정이 되어있음 /vmlinuz-3.10.0 ~~~~
메뉴를 선택하게 되면, /vmlinuz ~~ 이런 커널을 실행하라.
우리가 만약 커널 버전을 바꿔주게 되면, 다른 버전의 커널을 실행시킬 수가 있음.
1. 커널 버전 확인
🚨 2020년도 내용이라 없을 수 있음...
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvg https://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum -y install yum-plugin-fastestmirror
yum --enablerepo=elrepo-kernel install kernel-ml
y로 대답
다 했다고 가정하고 다운 다 받았다고 하면,
없던 커널 이미지 파일이 더 생김. 5.4버전이 최신버전
/boot/grub/grub.cfg에 추가된걸 확인할 수 있다.
재부팅 init 6 -> 재부팅되게 된다.
기존에 없던 커널이 생겨서, 좀 더 높은 버전으로 업그레이드 할 수 있다.
기존의 커널 필요없을 수도 있는데,
이전 커널 이미지 삭제
yum remove [커널 버전]
yum.conf 파일 수정
installonly_limit=5 #5개까지 업데이트를 유지하겠다.
런레벨 5: 모든 기능 제공 + 그래픽 환경 모드 제공
시스템 종료 상태 0은? -> init 0 , init 6는 재부팅
init 3 : 그래픽 지원이 안되는 모드
여러분들이 운영체제 설치할 때, 데스크탑 버전이 아닌 미니멀 버전으로 설치하면 이렇게 뜬다.
who -r 하면 3번으로 뜨는 것을 확인. 시간은 현재 런 레벨로 변경한 시간. 이전에 변경한 런레벨까지 볼 수 있다.
init 5해서 그래픽 모드로 들어가기
vi /etc/inittab이라고 하는 이 파일에, 기본 런레벨이 설정되어있었음. 부팅되었을 때 이 런레벨로 해놔라. init프로세스 대신 systemd로 넘어가는 중.
inittab 거의 더 이상 사용하지 않음
systemd 에서는 target을 사용
(root 사용자 패스워드를 초기화 해야하는 경우)
이런 환경으로 부팅이 되게 됨. 바로 관리자 프롬프트가 뜸. #
관리자로
touch /.autorelabel
exec /sbin/init 하면 됨!
shutdown
: rc 스크립트를 실행, init 명령어와 비슷한 기능을 수행
shutdown -r : 재부팅
shutdown -h : 종료
shutdown -t : 시간 지정
그렇지 않은 명령어들
시스템에 문제가 좀 생길 가능성이 있음.
halt
, poweroff
: rc0 스크립트들을 실행하지 않으므로 해당 프로세스가 있으면 문제가 발생할 수도 있다.
reboot
: 기본적으로 시스템을 런 레벨 3으로 설정하면서 시스템을 즉시 종료시킨다.
rc0 스크립트들을 실행하지 않으므로 해당 프로세스가 있으면 문제가 발생할 수도 있다.