1월, 2021의 게시물 표시

[Linux] systemd 상세옵션

  systemctl은 systemd의 LGPL 라이센스를 따르는 시스템 자원 통합 관리 도구이다 설정 파일은 /etc/systemd 아래에 위치하며, 각 파일 별로 [Unit], [Service], [Install]로 구성됨 - systemd 는 리눅스 커널 API 로 설계된 시스템 관리 데몬이다. - Lennart Poettering 와 Kay Sievers 가 처음 개발 하였다. (GNU 약소 GPL 라이선스) - 시스템이 부팅하는 동안 데몬 스크립트를 병렬로 수행 할수 있도록 설계하였다. 병렬로 서비스를 수행하기 때문에 서비스간의 종속성 및 실행 순서 관리가 매우 중요하다. - 프로세스간의 통신은 D-bus 에서 담당한다. (소켓, D-bus 지원) - 전통적인 Sysvinit 의 경우 서비스 감시 기능이 부족하다는 단점이 있다. - 전통적인 Sysvinit 의 경우 서비스간 종속성을 관리하지 못한다. - 전통적인 Sysvinit 의 경우 볶잡한 스크립트를 필요로 한다. (start, status, stop 등 각각에 대한 스크립팅이 필요하다.) -> 이건 확실히 그렇습니다. 데몬 관리가 어려움... - 전통적인 Sysvinit 의 경우 udev 관리 면에서 부적당하다. - systemd 서비스 등록 샘플 [Unit] Description=Sample Service Requires=local-fs.target After=local-fs.target [Service] Type=simple PIDFile=/var/run/sample.pid ExecStart=/usr/sbin/sampled -d ExecStop=/usr/sbin/sampled -k [Install] WantedBy=multi-user.target === [Unit] 섹션 === Description= 해당 유닛에 대한 상세한 설명을 포함한다. Requires= 상위 의존성을 구성한다. 목록의 유닛이 정상적일 경우 유닛이 시작된다. (필요 조건) RequiresOverridable= &q