Ubuntu

從 systemd 中的 vagrant-mounted (upstart) 等價物開始

  • September 27, 2015

我有一個執行 Ubuntu 15.04 的 Vagrant 盒子,它有一個新貴腳本,可以在系統啟動時啟動服務。它有一個start on vagrant-mounted節,因為該服務要求 /vagrant 目錄由 Vagrant 掛載。

我現在正在將此腳本遷移到 systemd(我是全新的)並且無法在啟動期間成功執行腳本,因為 /vagrant 在腳本執行時未安裝。After=vagrant-mounted不起作用,但可能有助於顯示我正在嘗試做的事情。

在引導期間掛載 Vagrant 目錄時,如何執行 systemd 單元?

注意systemctl start my.service 確實成功啟動了服務,並且該服務是systemctl enabled‘ed。

我對 Vagrant 啟動順序的理解是,/vagrant在啟動順序完成後,Vagrant 使用 SSH 掛載(以及您定義的任何其他共享文件系統)。

因此,您可能希望systemctl start my.servicerun: always指定的配置器中執行,因此配置器在每次啟動時執行,而不僅僅是在最初創建 VM 時執行。

如果 systemd 能夠檢測文件系統何時掛載,這將不是必需的,但令我驚訝的是,我找不到任何 systemd 支持此類功能的跡象。

引用自:https://serverfault.com/questions/725044