[英]Error after `vagrant halt; vagrant up`
我正在使用 Vagrant 1.7.4 和 VBox 5.0.0 在 Win7 上設置 Ubuntu 15.04 VM。
在第一次vagrant up
我可以使用vagrant putty
ssh 進入機器,一切都設置正確並且可以正常工作。 當我運行vagrant halt
,VM 正常關閉,沒有錯誤消息。
但是,當我嘗試使用vagrant up; vagrant putty
重新啟動 VM vagrant up; vagrant putty
vagrant up; vagrant putty
,機器處於奇怪的狀態。 例如,默認的同步文件夾/vagrant
是空的,即使第二個vagrant up
調用打印以下消息:
default: /vagrant => C:/Users/ArneUser/numecs/dev_env
此外,這個vagrant up
調用會在 PowerShell 中打印以下消息:
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
/sbin/initctl emit --no-wait vagrant-mounted MOUNTPOINT=
Stdout from the command:
Stderr from the command:
stdin: is not a tty
bash: line 2: /sbin/initctl: No such file or directory
我正在運行一個非常基本的設置只是為了測試這個錯誤,所以我認為錯誤不在我的配置腳本中。 一些指向正確方向的指針將不勝感激。
打開VirtualBox GUI
並手動關閉machine
,然后再次運行vagrant up
命令。
這解決了我的問題:)
/vagrant 是空的
/sbin/initctl 發射 --no-wait vagrant-mounted MOUNTPOINT=
從這兩行我懷疑 MOONTPOINT 應該是 /vagrant 但由於 /vagrant 為空,SSH 現在正在工作。
由於 Virtualbox 5,我看到了類似的問題。嘗試將 Virtualbox 降級到 4.3.x,並確保您擁有最新的 Vagrant (1.7.4)。
Initctl 是 Upstart init 守護進程的一部分。 據我所知,Ubuntu 15.04 是第一個放棄 Upstart 而支持 SystemD 的 Ubuntu 版本,因此 /sbin/initctl 預計不會存在於您的操作系統中。 我相信這需要固定在您使用的盒子中。
"/sbin/initctl emit ..." 的意義在於通知其他 Upstart 單元 vagrant 共享文件夾已經掛載並且可以進行讀/寫操作。 由於不再使用 upstart,因此可以安全地假設不需要此調用。 這是一個相當粗糙的 hack,但是您可以在 /sbin/initctl 中創建一個空腳本。 這應該允許 vagrant 啟動過程正常繼續並配置您的盒子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.