내 서비스 단위 파일은 파일이고 다른 파일은 디렉터리인 이유는 무엇입니까?

내 서비스 단위 파일은 파일이고 다른 파일은 디렉터리인 이유는 무엇입니까?

apache-httpd를 실행하기 위해 서비스 유닛을 생성했는데 작동 중인데 서비스 유닛 구성 파일이 파일인데 디렉터리(/etc/systemd/system)의 다른 항목이 디렉터리이므로 걱정됩니다. 파일은 예외인 것 같습니다.

여기에 이미지 설명을 입력하세요

작동하지만 내 정의가 다른 정의와 다른 이유는 무엇입니까?

내가 사용하는 것은기술 가이드의 서비스 단위 생성 지침.

답변1

.wants표시 되는 다른 디렉토리는 전체 서비스 파일( 패키지를 통해 설치된 서비스에 .d표시됨)을 포함하지 않고 수정 사항만 포함합니다./lib/systemd/system

예를 들어, 변경을 위해 실행하는 경우 변경 사항을 systemctl edit (servicename).service자동으로 포함하게 될 다른 환경 변수를 설정하려고 할 수도 있습니다 ./etc/systemd/system/servicename.d/override.conf

이것의 목적은 패키지가 업데이트될 때 변경 사항을 받을 수 있는 /etc/패키지 관리 서비스 정의와 관리자가 수행한 로컬 변경 사항을 명확하게 분리하는 것입니다 ./lib/systemd/system

답변2

단위는둘 다문서그리고목차. 이것충분히장치에 대한 정보는 두 곳 모두에서 배포되고 읽혀집니다.

.service파일이 , .target, .socket, 등 으로 끝나도록 합니다 .timer..mount

선택적 디렉토리는 , 등으로 .service.d끝 납니다 .service.requires. include .target.wants로 끝나는 .d일반 파일 . 심볼릭 링크로 끝나고 .wants심볼릭 .requires링크를 포함하는 링크입니다. 자세한 내용은 설명서를 읽어보십시오 systemd.unit.

귀하의 경우 파일과 (현재 존재하지 않는) 디렉토리가 모두 있습니다 /etc/systemd. 로컬 관리자인 귀하가 둘 다의 소스입니다. 다른 유닛의 경우 파일은 아래와 같은 다른 위치에 있습니다 /usr/lib/systemd. /etc/systemd이는 파일 부분은 패키지에서 제공하는 반면 디렉터리 부분은 로컬 관리자로 선택 및 수정된다는 사실을 반영합니다(예: Wants유닛의 설정을 생성하도록 수정) 특정 다른 단위를 활성화한 결과).

systemd의 모델은 패키지에서 /usr/lib/systemd다음과 같은 내용을 제공하고, 시스템이 실행될 때 다음과 같은 내용이 동적으로 생성되며, 다음 내용은 로컬 시스템 관리자가 결정하는 것입니다. 네 가지 영역 모두의 일반 파일, 디렉토리 및 기호 링크(여러 하위 디렉토리가 포함될 수 있음 , 자세한 내용은 설명서 참조)는 우선순위에 대한 규칙에 따라 완전한 단위 정보로 종합됩니다./usr/local/lib/systemd/run/systemd/etc/systemdsystem

관련 정보