Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 파이썬
- Linux
- jenkins
- 사용자 계정 관리
- 함수
- terraform
- AI챗봇
- 애저
- nexus
- GIT
- git hub
- it기사
- 변수
- AI
- dockerfile
- 명령어
- docker
- 3티어 아키텍처
- 클라우드
- 프로세스 관리
- Azure
- 리눅스
- AWS
- go
- 표준 라이브러리
- aws사용자모임
- maven
- awskrug
- python
- open ai
Archives
- Today
- Total
We are Architect
13. 리눅스 시스템의 부팅(2) 본문
* systemd와 런레벨
- 사용자의 공간을 만들고 시스템을 초기화시키는 systemd에는 '런 레벨'이라는 것이 존재한다.
- 런레벨은 시스템이 어떤 작업을 수행할지, 어떤 서비스가 실행 중인지에 따라 특정 상태를 나눈다.
- 초창기 유닉스의 Sysinit이라는 시스템에서 가져왔으며 숫자로 시스템의 상태를 표기한다.
- 명령어로 확인이 가능하다.
# 현재 명령어로 설정된 기본 런 레벨 확인.
systemctl get-default
# 런 레벨이 설정된 경로 확인
ls -l /etc/systemd/system/default.target
# 런 레벨 변경 명령어
systemctl isolate multi-user / systemctl isolate runlevel5
런레벨 | 심볼릭 링크 (Target 파일) | Target 원본 파일 | 기능 설명 |
0 | runlevel0.target | poweroff.target | 시스템 종료(Halt) |
1 | runlevel1.target | rescue.target | 단일 사용자 모드(Single User Mode) |
2 | runlevel2.target | multi-user.target | 다중 사용자 모드(네트워크 활성화 없음) |
3 | runlevel3.target | multi-user.target | 다중 사용자 모드(네트워크 활성화, GUI 없음) |
4 | runlevel4.target | multi-user.target | 사용자가 정의 가능한 런레벨 |
5 | runlevel5.target | graphical.target | 다중 사용자 모드(GUI 활성화) |
6 | runlevel6.target | reboot.target | 시스템 재부팅(reboot) |
* init 명령어를 사용한 시스템 컨트롤
- systemd를 사용해서 시스템을 종료하거나 재부팅 혹은 모드를 재설정할 수 있다.
런 레벨 | init 명령어 | 의미 |
0 | init 0 | 시스템 종료. |
1 | init 1 | 단일 사용자 모드. |
2 | init 2 | 다중 사용자 모드.(네트워크 비활성) |
3 | init 3 | 다중 사용자 모드.(네트워크 활성, 텍스트 기) |
4 | init 4 | 사용자 정의 런레벨 (사용자에 따라 다름) |
5 | init 5 | 다중 사용자 모드 (GUI 환경) |
6 | init 6 | 시스템 재부팅 (reboot) |
* 데몬 프로세스
- systemd에서 d는 '데몬'을 의미한다. 앞서 이야기했지만 여기서 데몬은 영적인 존재를 의미하며 항상 보이지 않는 곳에서 존재한다는 뜻이다.
- systemd 또한 보이지 않는 백그라운드에서 시스템 초기화 및 실행을 담당하고 있다.
- [ 데몬의 동작 방식 ]
- 독자형
- 시스템의 백그라운드에서 서비스별로 동작.
- 자주 호출되는 데몬이 아니라면 시스템 자원(메모)을 낭비할 우려가 있음.
- ex) httpd, nginx, mysql
- 호출 속도가 빠르며 독립적으로 실행된다.
- 슈퍼데몬
- 요청이 들어올 때마다 필요한 데몬을 동적으로 실행하는 역할
- 자체적으로 계속 실행되지 않고, 요청에 따라 하위 프로세스(데몬)를 실행.
- 보통 네트워크 서비스 관리를 담당.
- ex) inetd(네트워크 요청을 감지. FTP, telnet, ssh 등..), xinetd(inetd의 세분화 버전)
- 리눅스에서 자주 보이는 데몬들
- 독자형
데몬 | 설명 |
atd | 특정 시간에 실행되도록 예약한 명령을 처리 |
crond | 주기적으로 실행되도록 예약한 명령을 처리 |
dhcpd | 동적으로 IP 주소를 클라이언트에 할당(DHCP서버에서 설정) |
httpd | 웹 서비스를 제공 |
lpd | 프린터 서비스를 제공 |
nfs | 네트워크 파일 시스템(NFS) 서비스를 제공 |
named | DNS 서비스를 제공 |
sendmail | 이메일 송신 서비스를 제공 |
smtpd | 메일 전송 데몬으로, SMTP 프로토콜을 처리 |
popd | POP3 프로토콜을 통해 기본 메일함 서비스를 제공 |
routed | 자동 IP 라우터 테이블 관리를 제공(동적 라우팅 프로토콜 구현) |
smb | 삼바(Samba)를 통해 파일 및 프린터 공유 서비스를 제공(윈도우와 리눅스 간 파일 공유) |
syslogd | 로그 기록 서비스를 제공 |
sshd | 원격 보안 접속(SSH) 서비스를 제공 |
inetd | 여러 네트워크 서비스를 관리하는 슈퍼데몬 역할 |
ftpd | FTP(파일 전송 프로토콜) 서비스를 제공 |
ntpd | 네트워크 시간 동기화(NTP)를 제공 |
'운영체제 > Linux' 카테고리의 다른 글
15. yum 패키지 설치 (0) | 2024.12.05 |
---|---|
14. RPM 패키지 설치 (0) | 2024.12.05 |
12. 리눅스 시스템의 부팅(1) (0) | 2024.11.30 |
11. 파일 시스템 검사하기 (1) | 2024.11.29 |
10. 파일시스템 구축(LVM) (0) | 2024.11.27 |