리눅스 systemd

IT 위키
전통적인 init 을 대체하는 리눅스의 시스템 및 서비스 관리자
  • PID 1번으로 실행되어 부팅부터 종료까지 시스템 전체를 관리한다.
  • CentOS 7, RHEL 7, 우분투 15.04 이후의 기본 init 시스템이다.
  • 기존 SysV init 의 순차적 시작 방식과 달리 서비스를 병렬로 시작해 부팅 시간을 줄인다.
  • 소켓과 D-Bus 활성화로 필요한 시점에 서비스를 기동한다(on-demand).

유닛(Unit)

[편집 | 원본 편집]

systemd 는 관리 대상을 유닛이라는 단위로 다룬다. 설정 파일은 /usr/lib/systemd/system (패키지 제공)과 /etc/systemd/system(관리자 설정)에 둔다.

확장자 설명
.service 데몬 등 서비스 프로세스
.socket 소켓 기반 활성화
.target 유닛들의 묶음. SysV 의 런레벨을 대체한다
.mount / .automount 파일시스템 마운트
.timer 시간 기반 실행. cron 을 대체할 수 있다
.device / .path / .swap 장치, 경로 감시, 스왑

런레벨과 타겟

[편집 | 원본 편집]
런레벨 타겟 설명
0 poweroff.target 시스템 종료
1 rescue.target 단일 사용자 모드
3 multi-user.target 텍스트 다중 사용자 모드
5 graphical.target 그래픽 다중 사용자 모드
6 reboot.target 재부팅

주요 명령어

[편집 | 원본 편집]
systemctl start|stop|restart|reload 서비스명
systemctl enable|disable 서비스명      # 부팅 시 자동 시작 설정
systemctl status 서비스명
systemctl list-units --type=service
systemctl get-default / set-default 타겟명
journalctl -u 서비스명                 # 로그 조회

같이 보기

[편집 | 원본 편집]