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/systemd
system