Vagrant shell配置程序挂起而不是退出

时间:2013-06-28 06:43:41

标签: vagrant

我的shell配置程序是一个小的bash脚本,可以通过cpan安装一些Perl模块,设置Apache和MySQL,回显一些文本,并且存在。

除了在打印完最终消息后,它似乎不会退出,而是永远挂起。

我忘了做某事吗?我该如何开始调试呢?

如果我使用VirtualBox管理器关闭VM,我会得到一个头部读取的堆栈跟踪

/Applications/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/ruby_compat.rb:30:in `select': closed stream (IOError)

主机操作系统:OS X Snow Leopard 客户操作系统:Ubunut via precise32

TIA

2 个答案:

答案 0 :(得分:4)

这是一个评论,但我没有足够的声誉将其作为评论发布。

我建议使用两种方法来调试此问题。

1)在Vagrant中启用调试,如下所示:

VAGRANT_LOG=info vagrant up

2)在shell脚本的顶部定义set -x,将shell脚本的一行链接到运行时创建的输出。这应该允许您查看shell脚本的哪一行挂起。

使用Vagrantfile更新您的问题也有助于我们指导您正确的方向。

答案 1 :(得分:1)

此问题应在Vagrant版本1.2.4或更高版本中解决,其中包括a fix,它会在shell配置程序退出时关闭ssh通道。