我有一个运行Ubuntu 15.04的Vagrant框,它有一个启动脚本,在系统启动时启动服务。 它有一个start on vagrant-mounted节,因为服务要求/ vagrant目录安装Vagrant。
我现在正在将这个脚本迁移到systemd(我完全熟悉这个脚本),并且无法让脚本在启动过程中成功运行,因为脚本运行时没有挂载/ vagrant。 After=vagrant-mounted不起作用,但可能有助于显示我正在尝试做什么。
如何在启动过程中安装Vagrant目录时运行systemd单元?
注意systemctl start my.service 确实成功启动服务,并且服务是systemctl enabled的。
我对Vagrant启动顺序的理解是,启动顺序完成后,使用SSH将Vagrant挂载/vagrant (以及您定义的任何其他共享文件系统)。
因此,您可能需要在systemctl start my.service中运行systemctl start my.service ,并run: always指定,以便调配程序在每次启动时运行,而不仅仅在最初创buildVM时运行。
如果systemd有能力检测到文件系统被挂载的时候,这是没有必要的,但是令我惊讶的是我找不到任何迹象表明systemd支持这样的function。