在 systemd 中启动 vagrant-mounted (upstart) 等效项

在 systemd 中启动 vagrant-mounted (upstart) 等效项

我有一个运行 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’。

答案1

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

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

如果 systemd 有能力检测文件系统何时被挂载,这就没有必要了,但令我惊讶的是,我找不到任何迹象表明 systemd 支持此类功能。

相关内容