override.conf 파일이 실제 서비스 파일 conf를 변경합니까?

override.conf 파일이 실제 서비스 파일 conf를 변경합니까?

override.conf파일을 만들어서 디렉토리 systemd-journal-catalog-update.service에 넣었습니다 . systemd-journal-catalog-update.service.d/그 목적은 systemd-tmpfiles-setup.service다음과 같이 시작하는 것입니다.systemd-journal-catalog-update.service file.

이제 파일에는 다음 내용이 포함됩니다.

[Unit]
After=local-fs.target systemd-tmpfiles-setup.service

override.conf파일에는 다음이 있습니다.

[Unit]
After=
After=local-fs.target

그러나 systemd-journal-catalog-update.service파일이 변경된 것 같지 않습니다. 이 파일이 어떻게 작동하는지 제가 잘못 이해한 걸까요 override.conf? 원본 서비스 파일을 수동으로 수정할 수 있다는 것을 알고 있지만 프로젝트 상황에 따라 이 옵션이 제한됩니다. 귀하가 제공할 수 있는 도움/조언에 진심으로 감사드립니다.

답변1

~에 따르면시스템 장치매뉴얼 페이지:

종속성(이후= 등)은 빈 목록으로 재설정할 수 없으므로 종속성은 드롭인에서만 추가할 수 있습니다. 종속성을 제거하려면 전체 단위를 덮어써야 합니다.

맨 페이지의 다음 예제 2를 통해 전체 유닛 파일을 재정의할 수 있습니다.

유닛 파일의 공급업체 설정을 재정의하는 방법에는 두 가지가 있습니다. 유닛 파일을 /usr/lib/systemd/system에서 /etc/systemd/system으로 복사하고 선택한 설정을 수정하는 것입니다. [...] 첫 번째 접근 방식의 장점은 전체 단위를 쉽게 처리할 수 있고 공급업체 단위를 더 이상 구문 분석하지 않는다는 것입니다. 단점은 공급업체의 단위 파일 개선 사항이 업데이트에 자동으로 통합되지 않는다는 것입니다.

귀하의 경우에는 (루트로)

  • cp /usr/lib/systemd/system/systemd-journal-catalog-update.service /etc/systemd/system
  • systemctl daemon-reload
  • systemctl restart systemd-journal-catalog-update

그런 다음 다음 systemctl status위치에서 서비스 파일을 가리킵니다 /etc.

# systemctl status systemd-journal-catalog-update
● systemd-journal-catalog-update.service - Rebuild Journal Catalog
     Loaded: loaded (/etc/systemd/system/systemd-journal-catalog-update.service; static)
     Active: active (exited) since Sat 2021-05-22 16:27:07 CEST; 3 weeks 2 days ago
[...]

위의 내용에는 systemctl cat다음 파일도 표시되지 않습니다 /etc/.

# systemctl cat systemd-journal-catalog-update
# /etc/systemd/system/systemd-journal-catalog-update.service
#  SPDX-License-Identifier: LGPL-2.1-or-later
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Rebuild Journal Catalog
[...]

/etc이제 필요에 따라 파일을 편집하고, systemctl daemon-reload다시 실행하고, systemctl restart systemd-journal-catalog-update사용자 정의 단위 파일과 해당 설정으로 서비스를 실행할 수 있습니다.

매뉴얼 페이지에 언급된 다음 사항에 유의하십시오.

단점은 공급업체의 단위 파일 개선 사항이 업데이트에 자동으로 통합되지 않는다는 것입니다.

이제 systemd는 배포판의 systemd 패키지에 있는 단위 파일과 완전히 다른 단위 파일을 읽기 때문에 해당 파일의 모든 업데이트를 /usr/lib자신의 복사본에 수동으로 적용해야 합니다. .rpmnew(RPM 기반 배포에서) 또는 .pacnew(팩맨 기반 배포에서) 패키지 관리자가 로컬 관리자가 수정한 구성 파일을 추적하는 경우 일반적으로 파일이 생성되며 이 경우 패키지는 생성되지 않습니다.

관련 정보