리눅스 시스템의 부팅
리눅스의 부팅 과정
PC부팅 리눅스 부팅
전원 ON
> 바이오스단계
> 부트 로더 단계
> 커널 초기화 단계
> systemd 서비스 단계
> 로그인 프롬프트 출력
바이오스 단계
- PC의 전원 스위치를 켜면 가장 먼저 바이오스(BIOS, basic input output system)가 동작
- 바이오스는 PC에 장착된 기본적인 하드웨어(키보드, 디스크 등)의 상태를 확인한 후
부팅 장치를 선택하여 부팅 디스크의 첫 섹터에서 512B를 로딩
이 512B를 마스터 부트 레코드(master boot record, MBR)라고 명칭
바이오스 단계의 세부 동작
전원 ON
> 하드웨어 검사
Post (power on self test)
> 부팅 장치 선택
> MBR 로드
> 부트 로더 로드
> 부트 로더 단계
부트 로더 단계
- 부팅할 운영체제를 선택할 수 있도록 메뉴를 제공
- 리눅스 커널을 메모리에 로딩하는 역할 수행
가장 아래는 안전모드(rescue) >>
커널 초기화 단계
- 시스템에 연결된 메모리, 디스크, 키보드, 마우스 등의 장치를 검사 (기본적인 초기화 과정)
systemd 서비스 단계
- 리눅스가 본격적으로 동작하기 시작
- 기존의 init 스크립트를 대체한 서비스
systemd 서비스
리눅스의 init 런레벨 / 런레벨과 target 유닛의 관계
systemd 관련 명령
systemctl
- 기능 : systemd 를 제어
- 옵션 :
- -a :상태와 관계 없이 유닛 전체 출력
- -t 유닛 종류 : 지정한 종류의 유닛만 출력
- 명령 :
- start : 유닛을 시작
- stop : 유닛을 정지
- restart : 유닛을 재시작
- enable : 부팅 시 유닛이 시작하도록 설정
- disable : 부팅 시 유닛이 시작하지 않도록 설정
stop : 유닛 서비스 정지
[user1@localhost ~]$ su - *switch user
암호:
[root@localhost ~]# systemctl stop crond.service
[root@localhost ~]# systemctl status crond.service
단일 사용자 모드로 전환 : rescue.target(런레벨1)
다음 명령 중 하나를 사용하여 단일 사용자 모드로 전환 가능
systemctl isolate rescue
systemctl isolate runlevel1
init 1
telinit S
리부트 하고 싶은 경우 ?
systemctl isolate rescue < reboot
systemctl isolate runlevel1 < runlevel6
init 1 < 6
telinit S < 6
* NFS 포함 multi user 명령 4가지 ?
리눅스 시스템의 종료
리눅스 종료 방법
- shutdown 명령
- 셧다운한다는 메시지 보내고 종료
2분 후에 시스템이 종료되도록 설정하고 메시지를 보내려면 다음과 같이 지정
[root@localhost ~]# shutdown -h +2 "System is going down in 2 min"
시스템 즉시 종료
[root@localhost ~]# shutdown -h now
- halt 명령
- poweroff 명령
- 런레벨 0 or 6 으로 전환
- reboot 명령
- 전원 종료 (최후의 수단)
런레벨 변경
런레벨 0 = 시스템 종료 상태 ( 런레벨을 0으로 바꾸면 시스템이 종료됨 )
[root@localhost ~]# telinit 0
시스템 재시작 = 런레벨 6
[root@localhost ~]# telinit 6
기타 시스템 종료 명령
halt : 멈춤
데몬 프로세스
데몬(daemon)
- 리눅스의 백그라운드에서 동작하면서 특정한 서비스를 제공하는 프로세스
- 각종 서비스를 제공하는 프로세스
- 리눅스 시스템에서 동작하는 웹 서버나 데이터베이스 서버, 원격 접속 서버 등
연습문제
01 | 리눅스의 부팅 과정을 5단계로 나누어 설명하시오.
더보기
바이오스 단계 > 부트로더 단계 > 커널 초기화 단계 > systemd 서비스 단계 > 로그인 프롬프트 출력
02 | 부트 로더의 역할을 설명하시오.
더보기
리눅스 커널을 메모리에 로딩하는 역할
08 | abc.service 유닛이 동작 중인지(active) 확인하는 명령은 무엇인가?
더보기
![](https://blog.kakaocdn.net/dn/cOBPoG/btq7Fie0NwD/9F5yzMA47Nm2FwzkfEOOwk/img.png)
녹색으로 표시된 active (plugged) : 활동중
systemctl status abc.service
해설)
systemctl status 유닛명 : 지정한 유닛의 상태 정보를 출력한다.
상태 정보창에서 동작 중인지 확인할 수 있다.
![](https://blog.kakaocdn.net/dn/cOBPoG/btq7Fie0NwD/9F5yzMA47Nm2FwzkfEOOwk/img.png)
09 | abc.service 유닛을 시작하는 명령은 무엇인가?
더보기
systemctl start abc.service
10 | 시스템에 문제가 있어서 단일 사용자 모드로 전환해야 한다. 기존 런레벨을 이용하는 방법과 systemd를 이용하는 방법을 각각 설명하시오.
더보기
systemctl isolate rescue.target
systemctl isolate runlevel1.target
11 | 시스템을 종료하는 방법을 두 가지 이상 설명하시오.
더보기
shutdown 명령 사용
poweroff 명령 사용
halt 명령 사용
런레벨 0 혹은 6으로 전환
reboot 명령 사용
전원 끄기
12 | 시스템을 2분 후에 종료하려고 한다. 사용자들에게 메시지를 보내고 종료하려면 어떻게 해야 하는가?
더보기
shutdown -h +2 "System is going down in 2 min"
'OS > Fedora Linux' 카테고리의 다른 글
페도라 리눅스 Chapter 11 네트워크 설정 (0) | 2021.06.19 |
---|---|
페도라 리눅스 Chapter 10 사용자 관리 (0) | 2021.06.19 |
페도라 리눅스 Chapter 09 소프트웨어 관리 (0) | 2021.06.19 |
페도라 리눅스 Chapter 07 파일 시스템, 디스크 관리 (0) | 2021.06.03 |
페도라 리눅스 Chapter 06 프로세스 관리 (0) | 2021.06.03 |