사용자 도구

사이트 도구


linux:systemd

문서의 이전 판입니다!


systemd

unit 모음 디렉토리

  • /etc/systemd/system
  • /run/systemd/system
  • /usr/local/lib/systemd/system
  • /usr/lib/systemd/system

사용법

# 지금 시작
systemctl start unit
 
# 종료
systemctl stop unit
 
# 재시작
systemctl restart unit
 
# booting 시 시작하게 설정
systemctl enable unit
 
# booting 시 시작하게 하면서, 지금 당장도 실행하게
systemctl enable --now unit

user 시작 프로그램

systemd bootchart

sudo apt install systemd-bootchart
systemd-analyze
systemd-analyze  blame
  • Linux Grub 에서 커널 설정에 init=/lib/systemd/systemd-bootchart 넣고 부팅하면 /run/log/bootchart-날짜-번호.svg 파일이 생성되고 이 이미지를 보고 부팅 성능 병목 지점을 찾을 수 있다.

systemd 는 어떻게 기존 SysVInit 의 /etc/init.d/* 서비스를 인식하는가

  • Systemd 로 변경했음에도 기존 SysVInit 이 사용하던 /etc/init.d/* 의 서비스를 systemd 명령으로 사용가능하다.
  • 이는 systemd-sysv-generator/etc/init.d/*의 서비스를 읽어서 동적으로 systemd unit 으로 바꿔주기 때문이다. (/usr/lib/systemd/system-generators/systemd-sysv-generator)
  • systemd unit 은 /run/systemd/generator.late*.service로 동적으로 생성된다.
  • systemd 는 init.d를 자동 인식하는게 아니라, systemd unit 이라고 인식하게 되는 것이다.
  • init.d의 서비스 파일에는 주석으로 LSB Headers라는 값이 들어있어서 systemd 로 변환하는 정보로 사용한다.

참조

linux/systemd.1665449444.txt.gz · 마지막으로 수정됨: 2022/10/11 09:50 저자 kwon37xi