将 SysV 初始化脚本引用为 systemd 单元文件依赖项

将 SysV 初始化脚本引用为 systemd 单元文件依赖项

运行 Ubuntu 16.04。我从软件包中安装了 Apache2,它在 处安装了 SysV 初始化脚本/etc/init.d/apache2,在 处安装了 Systemd 单元文件配置/lib/systemd/system/apache2.service.d/apache2-systemd.conf

现在我想创建一个启动 apache2 的自定义目标(除此之外——这是为了创建一个我可以在资源匮乏的计算机上轻松启动和关闭的开发环境)。我在 处创建了一个目标单元文件,/etc/systemd/system/my-dev-env.target在 处创建了一个“wants”目录/etc/systemd/system/my-dev-env.target.wants。我已将指向其他 systemd 单元文件的链接放入 中my-dev-env.target.wants,它们都运行正常,但我不知道如何告诉 systemd 我也希望在其中使用 apache。我尝试链接到该.conf文件,但没有成功(也没有抛出任何明确的错误)。

任何帮助都将不胜感激...

答案1

/lib/systemd/system/apache2.service.d/apache2-systemd.conf插入,因此链接到该处是行不通的。

由于 apache2 是一个优秀的旧 SysV 初始化脚本,因此您需要链接到该/etc/init.d/apache2脚本。请确保使用 .service 后缀命名您的链接,否则 systemd 将无法识别它。例如ln -s /etc/init.d/apache2 /etc/systemd/system/my-dev-env.target.wants/apache2.service

相关内容