從 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指定,因此配置程式會在每次啟動時執行,而不僅僅是在最初建立 VM 時運行。

如果 systemd 能夠偵測檔案系統何時安裝,則沒有必要這樣做,但令我驚訝的是,我找不到任何跡象表明 systemd 支援此類功能。

相關內容