type
status
date
slug
summary
tags
category
icon
password
systemd
Systemd는 리눅스 운영 체제에서 시스템 및 서비스 매니저로 사용되는 소프트웨어입니다. 부팅 과정에서 시스템을 초기화하고 관리하는 데 중요한 역할을 합니다.
init 은 어찌되었나요?
Systemd는 init 시스템의 대체제로 개발되었습니다.
이로써 더 빠른 부팅 시간과 병렬 서비스 시작을 제공할 수 있게 되었습니다.
특징
- init 프로세스에 대한 호환성 제공
- systemd 유닛 사용
- 시스템 부팅시 서비스 병렬 시작
- 사용자 요구에 맞게(On-demand) 서비스 실행
- 시스템 상태 스냅샷 지원
system unit
system unit 파일은 서비스, 타이머, 소켓 등을 정의하고 관리하는 데 사용됩니다.
각 유닛 파일은 특정 작업을 수행하거나 프로세스를 관리하는 데 필요한 설정을 포함하고 있습니다.
총 세 곳의 디렉터리에 위치합니다.
/etc/systemd/system
/run/systemd/system
/lib/systemd/system
systemctl
systemctl
은 systemd의 주요 명령어로, 서비스를 시작, 중지, 재시작 및 상태 확인 등의 작업을 수행할 수 있습니다. 예를 들어, sudo systemctl start nginx
명령어는 NGINX 웹 서버를 시작하는 데 사용됩니다.service 명령과 systemctl 명령을 비교한 표입니다.
동작 | 서비스 명령 ( service ) | systemctl 명령 ( systemctl ) |
시작 | service nginx start | systemctl start nginx |
중지 | service nginx stop | systemctl stop nginx |
재시작 | service nginx restart | systemctl restart nginx |
상태확인 | service nginx status | systemctl status nginx |
설정 위치 | /etc/init.d/nginx | /etc/systemd/system/nginx.service |
활성화 | chkconfig nginx on | systemctl enable nginx |
비활성화 | chkconfig nginx off | systemctl disable nginx |
유닛 마스킹(mask)
유닛 마스킹은 특정 유닛 파일이 실행되지 않도록 완전히 비활성화하는 방법입니다. 이를 통해 실수로 해당 유닛이 시작되는 것을 방지할 수 있습니다.
왜 systemctl 은 블랙리스트 방식을 적용했을까요?
systemctl이 블랙리스트 방식을 적용한 이유는 특정 유닛이 의도치 않게 실행되는 것을 방지하기 위해서입니다.
이전시스템은 필요에 따라 서비스를 추가하거나 실행하는 방식이었습니다. 따라서 순서와 양 적 측면에서 관리하기 어렵다는 단점이 있었습니다.
REF