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


1

运行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文件,但是没有用(也没有抛出任何显式错误)。

任何帮助表示赞赏。

Answers:


2

/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


哈!我什至没有想到只是链接到SysV初始化文件。看起来像一种魅力。(对于将来的读者,请记住sudo systemctl daemon-reload在链接后再运行。)
kael
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.