Systemctl httpd.service 文件在磁​​盘上已更改

Systemctl httpd.service 文件在磁​​盘上已更改

当启动httpdsystemctl 时,出现错误:

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。所以我刚刚做了一个touch overides.conf.那位于/etc/systemd/system/httpd.service.d.

systemctl daemon-reload如果日期错误,显然不会按预期工作?

答案2

我遇到了类似的问题。我有一个名为 的单元foo-1.2.3,它被启用为systemctl enable foo-1.2.3,以便它创建一个名为 的别名,但foo不带版本号。

当我这样做时systemctl edit foo,它创建了一个名为 的覆盖文件/etc/systemd/system/foo.service.d/override.conf,然后我不断收到“挂在磁盘上。运行'systemctl daemon-reload'以重新加载单元”消息,即使我确实运行了 daemon-reload。

我将目录重命名为/etc/systemd/system/foo-1.2.3.service.d,即不使用别名,错误消息消失了。里面根本没有任何线索journalctl。我觉得这是一个错误。如果 systemd 不喜欢在edit命令中使用别名,它应该会提前失败。或者覆盖目录应该一致命名,而不是使用别名。

也就是说,systemd 仍然不支持覆盖文件!我在覆盖文件中设置了一个环境变量,但该进程没有获取该环境变量。我还有调试工作要做...

相关内容