리눅스 시스템의 부팅 과정
1) 전원 ON
2) 바이오스 단계
- PC에 장착된 기본적인 하드웨어의 상태를 확인한 후 부팅 장치를 선택하여 부팅 디스크의 첫 섹터에서 512 바이트를 로딩함
- 512 바이트: 마스터 부트 레코드(MBR)
- MBR는 부트 로더를 메모리에 적재함
3) 부트 로더 단계
- 부트 로더는 부팅할 운영 체제를 선택할 수 있도록 메뉴 제공
- 부트 로더는 리눅스 커널을 메모리에 로딩
4) 커널 초기화 단계
- 커널은 가장 먼저 시스템에 연결된 메모리, 디스크, 키보드, 마우스 등 장치들을 검사
- 기본적인 초기화 과정이 끝나면 커널은 fork를 사용하지 않고 생성되는 프로세스와 스레드를 생성함
5) systemd 서비스 단계
- 기존의 init 스크립트를 대체한 것으로 다양한 서비스를 동작시킴
- 부팅 메시지 출력, 부트 스플래시 화면 출력
6) 로그인 프롬프트 출력
systemd 서비스
1) 리눅스의 init 런레벨
런레벨 | 의미 | 관련 스크립트의 위치 |
0 | 시스템 종료 | /etc/rc0.d |
1, S | 단일 사용자 모드 | /etc/rc1.d |
2 | 다중 사용자 모드(NFS를 실행하지 않음) | /etc/rc2.d |
3 | 다중 사용자 모드(NFS 포함) | /etc/rc3.d |
4 | 사용하지 않음(예비 번호) | /etc/rc4.d |
5 | X11 상태로 부팅 | /etc/rc5.d |
6 | 재시작 | /etc/rc6.d |
2) systemd의 기본 개념
- CentOS7부터 본격적으로 기존의 init 스크립트를 대체하기 시작함
- 거의 대부분의 서비스가 systemd 기반으로 변경됨
- systemd 방식의 장점: inetd와 호환성 유지, 셸과 독립적으로 부팅 가능, 마운트 제어 가능, fsck 제어 가능, SELinux와 통합 등
3) systemd 유닛
- systemd는 전체 시스템을 시작하고 관리하는 데 유닛(units)이라 부르는 구성 요소 사용
- 관리 대상 이름 형태: 서비스 이름.서비스 종류
4) systemctl
- systemd를 제어함
- 형식: systectl [옵션] [명령] [서비스명]
- 옵션
옵션 | 설명 |
-a | 상태와 관계없이 서비스 전체 출력 |
-t | 지정한 종류의 서비스만 출력 |
- 명령어
명령어 | 설명 |
start | 서비스 시작 |
stop | 서비스 정지 |
reload | 서비스의 설정 파일을 다시 읽어옴 |
restart | 서비스 재시작 |
status | 서비스 상태 출력 |
enable | 부팅 시 서비스가 시작하도록 설정 |
disable | 부팅 시 서비스가 시작하지 않도록 설정 |
is-active | 서비스가 동작하고 있는지 확인 |
is-enabled | 서비스가 시작되었는지 확인 |
isolate | 지정한 서비스 및 이와 관련된 서비스만 시작하고 나머지는 정지 |
kill | 서비스에 시그널 전송 |
mask, unmask | 서비스 잠금, 해제 |
리눅스 시스템의 종료
1) shutdown [시간] [메시지]
- 옵션
옵션 | 기능 |
-k | 실제로 시스템을 종료하는 것이 아니라 사용자들에게 메시지만 전달 |
-r | 종료 후 재시작 |
-h | 종료하며 halt 상태로 이동 |
-f | 빠른 재시작으로 이 과정에서 fsck 생략 가능 |
-c | 이전에 내렸던 shutdown 명령 취소 |
[시간] | 종료할 시간(hh:mm, +m, now) |
[메시지] | 모든 사용자에게 보낼 메시지 |
2) halt, poweroff, reboot
- 시스템을 종료하거나 재시작하기 위해 사용하는 명령어
- systemctl 명령의 심볼릭 링크
- /var/log/wtmp 파일에 시스템 종료 기록을 남김
- 옵션
옵션 | 기능 |
-n | 재시작이나 종료 전에 sync를 호출하지 않음 |
-w | 실질적으로 재시작하거나 종료하지는 않지만 wtmp 파일에 기록을 남김 |
-d | wtmp 파일에 기록을 남기지 않음 |
-f | 강제로 명령을 실행하며 shutdown을 호출하지 않음 |
-p | 시스템의 전원을 끔 |
3) runlevel 0, 6
데몬 프로세스
1) 데몬
- 리눅스 백그라운드에서 동작하면서 특정한 서비스를 제공하는 프로세스
2) 데몬의 동작 방식
- 독자형: 시스템의 백그라운드에서 서비스별로 항상 동작, 자원 낭비 우려
- 슈퍼 데몬: 평소에는 슈퍼 데몬만 동작 > 서비스 요청 시 슈퍼 데몬이 해당 데몬을 동작 시킴, 응답 시간이 느리지만 효율적인 자원 사용
3) 주요 데몬
데몬 | 기능 |
crond | 주기적으로 실행하도록 예약한 명령 실행 |
dhcpd | 동적으로 IP 주소를 부여하는 서비스 제공 |
httpd | 웹 서비스 제공 |
nfs | 네트워크 파일 시스템 서비스 제공 |
smtpd | 메일 전송 데몬 |
syslogd | 로그 기록 서비스 제공 |
ftpd | 파일 송수신 서비스 제공 |
'쿠버네티스 교육 > 강의 내용 정리' 카테고리의 다른 글
220512_4_리눅스_사용자 및 그룹 관리-useradd (0) | 2022.05.12 |
---|---|
220512_3_실습_리눅스_root 패스워드 복구 (0) | 2022.05.12 |
220512_1_실습_리눅스_LVM 심화 실습-2 (0) | 2022.05.12 |
220511_7_실습_리눅스_LVM 심화 실습-1 (0) | 2022.05.11 |
220511_6_실습_리눅스_SWAP (0) | 2022.05.11 |