从 systemd 中的 vagrant-mounted (upstart) 等价物开始

TJ *_*ika 7 ubuntu upstart vagrant systemd

我有一个运行 Ubuntu 15.04 的 Vagrant 盒子,它有一个 upstart 脚本,可以在系统启动时启动一个服务。它有一个start on vagrant-mounted节,因为该服务要求 Vagrant 挂载 /vagrant 目录。

我现在正在将此脚本迁移到 systemd(我是全新的)并且无法在引导期间成功运行脚本,因为 /vagrant 在脚本运行时未安装。After=vagrant-mounted不起作用,但可能有助于显示我正在尝试做的事情。

在引导期间挂载 Vagrant 目录时,如何运行 systemd 单元?

注意systemctl start my.service 确实成功启动了服务,并且服务被systemctl enabled'ed。

wom*_*ble 3

我对 Vagrant 启动顺序的理解是,/vagrant在启动顺序完成后,Vagrant 使用 SSH 挂载(以及您定义的任何其他共享文件系统)。

因此,您可能希望systemctl start my.service在指定的配置程序中运行run: always,以便配置程序在每次启动时运行,而不仅仅是在最初创建虚拟机时运行。

如果 systemd 能够检测文件系统何时安装,则没有必要这样做,但令我惊讶的是,我找不到任何迹象表明 systemd 支持此类功能。