Systemd

Laigasus

Infra|2024년 8월 13일|마지막 수정 시간: 2024년 9월 23일|
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
Loading...