패치 서비스 파일

패치 서비스 파일

MY_SERVICE@SOME_SERVICE.service추가 해서 OnFailure=튼튼하게 만들고 싶어요 . 예를 들어 에서는 해당 섹션 에 이 행을 포함하고 /lib/systemd/system/apache2.service싶습니다 .[email protected][Unit]

이는 으로 수행할 수 있습니다 systemctl edit. 그러나 기본적으로 apache2.service포함된 경우 OnFailure=(예: 최신 버전으로 업데이트한 후) 변경 사항이 덮어쓰여집니다. 기본값 OnFailure=과 고유한 값 OnFailure=(예: )을 원합니다.OnFailure=default.service [email protected]

이 목표를 어떻게 달성할 수 있나요?


기본 콘텐츠/lib/systemd/system/apache2.service

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
Environment=APACHE_STARTED_BY_SYSTEMD=true
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true
Restart=on-abort

[Install]
WantedBy=multi-user.target

/lib/systemd/system/apache2.service뒤에 오는 내용 systemctl edit(4행 추가)

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
[email protected]

[Service]
Type=forking
Environment=APACHE_STARTED_BY_SYSTEMD=true
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true
Restart=on-abort

[Install]
WantedBy=multi-user.target

/lib/systemd/system/apache2.service새로운 기본 서비스 로 콘텐츠 업데이트(4행 수정)apache2OnFailure=

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
OnFailure=default.service [email protected]

[Service]
Type=forking
Environment=APACHE_STARTED_BY_SYSTEMD=true
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true
Restart=on-abort

[Install]
WantedBy=multi-user.target

답변1

당신이 달리면systemctl edit apache2/etc/systemd/system/apache2.service.d에서는 기본적으로 오버레이 조각을 생성해야 하며 에서는 원본 콘텐츠를 편집하지 않습니다 /lib. 코드 조각에 다음을 추가합니다.

[Unit]
[email protected]

왜냐하면OnFailure목록이고,코드 조각에서 재설정되지 않음, 위에 제공된 값은 원래 단위로 지정된 항목에 추가되며 대체되지 않습니다.

관련 정보