ディスク上のSystemctl httpd.serviceファイルが変更されました。

ディスク上のSystemctl httpd.serviceファイルが変更されました。

systemctlを起動するとhttpdエラーが発生します。

Warning: The unit file, source configuration file or drop-ins of httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.

実行しましたが、systemctl daemon-reloadエラーが続きます。

出力は次のとおりですsystemctl status httpd

Warning: The unit file, source configuration file or drop-ins of httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Tue 2018-05-29 08:08:09 CDT; 4min 6s ago
     Docs: man:httpd.service(8)
 Main PID: 19471 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 4500)
   Memory: 18.8M
   CGroup: /system.slice/httpd.service
           ├─19471 /usr/sbin/httpd -DFOREGROUND
           ├─19472 /usr/sbin/httpd -DFOREGROUND
           ├─19473 /usr/sbin/httpd -DFOREGROUND
           ├─19474 /usr/sbin/httpd -DFOREGROUND
           └─19475 /usr/sbin/httpd -DFOREGROUND

問題をさらに診断するにはどうすればよいですか?

Fedora 28、systemd 238、apache 2.4.34を実行します。

答え1

私は同じ問題に直面しました。ファイルと比較して、サーバーの日付がオフになっていますoverides.conf。だから私はちょうど1つを作りましたtouch overides.conf。その場所はです/etc/systemd/system/httpd.service.d

systemctl daemon-reload日付が間違っていると当然予想通りにはなりませんよね?

答え2

同様の問題が発生しました。という名前のエイリアスを作成できるように、有効なfoo-1.2.3名前の単位がありますが、バージョン番号はありません。systemctl enable foo-1.2.3foo

これを行うとsystemctl edit foo、というオーバーレイファイルが作成され、/etc/systemd/system/foo.service.d/override.confdaemon-reloadを実行しても「Hung on disk. Run 'systemctl daemon-reload' to reload device」というメッセージが表示され続けます。

つまり、エイリアスを使用せずにディレクトリ名を変更し、/etc/systemd/system/foo-1.2.3.service.dエラーメッセージが消えました。そこにはまったく手がかりがありませんjournalctl。私はこれが間違いだと思います。 systemdがeditコマンドにエイリアスを使用することを好まない場合は、早期に失敗する必要があります。または、エイリアスを使用する代わりに、オーバーレイディレクトリの名前を一貫して指定する必要があります。

つまり、systemdはまだファイルの上書きをサポートしていません。オーバーレイファイルに環境変数を設定しましたが、プロセスはそれを取得できません。まだデバッグする必要があります...

関連情報