「PID 1」의 자리를 차지한 모던 init 시스템.
거의 모든 모던 리눅스(Ubuntu·Fedora·RHEL 등)가 systemd 채택.
옛 SysVinit·Upstart를 대체.
역할.
1) 부팅 시 시스템 초기화.
2) 서비스(데몬) 시작·중지·관리.
3) 의존성 처리(서비스 A 후 B).
4) 병렬 부팅으로 빠른 시작.
5) 통합 로그(journalctl).
6) 타이머(cron 대안).
7) 소켓·디바이스·마운트 등 다양한 단위 통합 관리.
단위(unit).
systemd가 관리하는 모든 것.
.service(서비스), .timer(타이머), .socket(소켓), .mount(마운트), .target(목표·옛 runlevel).
/etc/systemd/system/와 /lib/systemd/system/에 정의.
주요 명령.
systemctl — 서비스 관리.
journalctl — 로그.
systemd-analyze — 부팅 시간 분석.
거의 모든 시스템 관리가 이 도구들로.
철학 논쟁.
systemd는 「하나의 도구가 너무 많은 일」 한다는 비판이 있음.
「Unix 철학(작은 도구 조합) 위배」 주장.
그러나 실제로 부팅·서비스 관리가 훨씬 쉬워졌고 표준화의 가치는 큼.
호불호 떠나 사실상 표준.
한 줄 요약
systemd는 모던 PID 1 — 부팅·서비스·로그·타이머·의존성·병렬 부팅 통합.
단위(.service·.timer·.target).
systemctl·journalctl이 주요 명령.
옛 init·Upstart 대체, 사실상 표준.
더 알아볼 것
- systemd 단점 비판
- 기존 SysVinit과의 차이
- systemd-cgls로 cgroup 트리