systemd에서 사용자 서비스와 시스템 서비스를 구별하는 방법은 무엇입니까?

systemd에서 사용자 서비스와 시스템 서비스를 구별하는 방법은 무엇입니까?

나는 질문을했다어제응답된 댓글 중 하나는 누군가 이것이 "사용자 서비스"라고 생각했다는 것입니다. 이제 "사용자 서비스"와 시스템 서비스를 구별하는 방법은 무엇입니까?

답변1

~에 따르면이것문서, 유닛 파일은 경로로 구분할 수 있습니다.

예를 들어, 단위 파일이 다음 위치에 있는 경우

/etc/systemd/system
/usr/lib/systemd/system
/run/systemd/system

디렉토리, 이 장치는 시스템에 속합니다.

그렇다면

~/.config/systemd/user/*
/etc/systemd/user/*
$XDG_RUNTIME_DIR/systemd/user/*
/run/systemd/user/*
~/.local/share/systemd/user/*
/usr/lib/systemd/user/*

사용자에게 속한 디렉터리입니다.

답변2

~에 따르면시스템(1)시스템 장치 디렉토리에 대한 매뉴얼 페이지:

systemd 시스템 관리자는 다양한 디렉터리에서 장치 구성을 읽습니다. 유닛 파일을 설치하려는 패키지는 해당 파일을 다음 명령으로 반환된 디렉터리에 배치해야 합니다.

pkg-config systemd --variable=systemdsystemunitdir

확인된 다른 디렉터리는 다음과 같습니다.

/usr/local/lib/systemd/system
/usr/lib/systemd/system

사용자 구성이 항상 우선적으로 적용됩니다.

pkg-config systemd --variable=systemdsystemconfdir

시스템 구성 디렉터리의 경로를 반환합니다. 패키지는 systemctl(1) 도구의 활성화 및 비활성화 명령을 사용하여 이러한 디렉터리의 내용만 변경할 수 있습니다. 전체 디렉토리 목록은 systemd.unit(5)에 제공됩니다.

그런 다음 사용자 단위 디렉터리의 경우:

사용자 정의 구성요소 디렉토리에도 유사한 규칙이 적용됩니다. 그러나 여기서는 XDG 기본 카탈로그 사양 [6]을 따라 단위를 찾습니다. 애플리케이션은 다음 명령으로 반환된 디렉터리에 유닛 파일을 배치해야 합니다.

pkg-config systemd --variable=systemduserunitdir

전역 구성은 보고서 디렉터리에서 수행됩니다.

pkg-config systemd --variable=systemduserconfdir

systemctl(1) 도구의 활성화 및 비활성화 명령은 장치의 전역(즉, 모든 사용자에 대해) 및 개인(한 사용자에 대해) 활성화/비활성화를 처리합니다. 전체 디렉토리 목록은 systemd.unit(5)에 제공됩니다.

참고하시기 바랍니다체계적인다양한 파일을 배치하기 위한 올바른 위치를 패키저에게 안내하고 패키저가 올바르게 따르는 규칙입니다.

관련 정보