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では、ユニットファイル全体をオーバーライドできます。
ユニットファイルのベンダー設定を上書きする方法は2つあります。ユニットファイルを/usr/lib/systemd/systemから/etc/systemd/systemにコピーし、選択した設定を変更します。 [...]最初のアプローチの利点は、ユニット全体を簡単に処理でき、ベンダーユニットを解析しなくなることです。欠点は、ベンダーのユニットファイルの改善がアップデートに自動的に統合されないことです。
あなたの場合(root)
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
(パックマンベースの展開で)パッケージマネージャがローカル管理者によって変更された設定ファイルを追跡すると、通常ファイルが生成されます。この場合、パッケージは作成されません。