systemd(system daemon) systemctl, journalctl 명령어 사용법

Yuri Lee·2021년 5월 26일
1

Systemd components

  • 일반 리눅스 사용자 입장에서는 최상단의 systemd utillities 인 systemctl, journalctl 등 유틸리티 사용법을 알고 있으면 된다.

systemd란?

  • systemd(system daemon)은 전통적으로 Unix 시스템이 부팅후에 가장 먼저 생성된 후에 다른 프로세스를 실행하는 init 역할을 대체하는 데몬이다.
  • Red Hat 에 근무하는 Lennart Poettering 이 주도적으로 개발을 시작했고 지금은 RHEL/CentOSUbuntu 나 Arch 등 대부분의 리눅스 시스템에 공식적으로 채택되었다.

🎵 Target 관리

기본 타겟 확인

$ systemctl get-default
multi-user.target

타겟 목록 출력 사용법

$ systemctl list-units --type target


UNIT                  LOAD   ACTIVE SUB    DESCRIPTION
basic.target          loaded active active Basic System
cryptsetup.target     loaded active active Encrypted Volumes
getty.target          loaded active active Login Prompts
local-fs-pre.target   loaded active active Local File Systems (Pre)
local-fs.target       loaded active active Local File Systems
multi-user.target     loaded active active Multi-User System
network-online.target loaded active active Network is Online
network.target        loaded active active Network
paths.target          loaded active active Paths
remote-fs.target      loaded active active Remote File Systems
slices.target         loaded active active Slices
sockets.target        loaded active active Sockets
sound.target          loaded active active Sound Card
swap.target           loaded active active Swap
sysinit.target        loaded active active System Initialization
timers.target         loaded active active Timers

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type

🎶 서비스 관리 사용법

서비스 상태 확인

$ systemctl status 서비스명 

서비스 시작

$ systemctl start 서비스명

서비스 종료

$ systemctl stop 서비스명 

서비스 재시작

$ systemctl restart 서비스명 

서비스 목록 확인

$ systemctl list-units

서비스 재시작

$ systemctl restart name.service

journalctl이란?

  • systemd의 로그를 journal로 관리하는데 해당 journal들을 조회할 수 있는 소프트웨어이다.

기본 사용법

$ journalctl [OPTIONS...] [MATCHES...]
  • journalctl 명령어와 옵션을 이용해 사용합니다.

추가적인 메시지(에러 혹은 이벤트)와 함께 로그의 가장 끝 부분을 확인

$ journalctl -xe

특정 유닛의 로그를 확인

$ journalctl -u [systemd unit name]

로그를 계속 확인하며 트래킹

$ journalctl -f

실시간 로그 확인

$ systemctl restart name.service

https://www.lesstif.com/system-admin/systemd-system-daemon-systemctl-24445064.html
https://twpower.github.io/171-journalctl-usage-and-examples
https://en.wikipedia.org/wiki/Systemd#/media/File:Systemd_components.svg

profile
Step by step goes a long way ✨

0개의 댓글