1

您好,我的流浪汉开始失败并显示此消息

以下 SSH 命令以非零退出状态响应。Vagrant 假设这意味着命令失败!

sed -e '/^#VAGRANT-BEGIN/,/^#VAGRANT-END/ d' /etc/network/interfaces > /tmp/vagrant-network-interfaces.

无业游民的靴子,但木偶清单不适用。

任何建议如何解决它

更新: vagrant up 命令在开始应用 puppet 清单之前失败。

INFO 接口: info:配置和启用网络接口... [默认] 配置和启用网络接口... DEBUG ssh:检查 SSH 是否准备就绪... DEBUG ssh:重用 SSH 连接。信息 ssh:SSH 准备就绪!INFO 来宾:检测机器的来宾:

DEBUG guest:尝试:pld DEBUG ssh:重新使用 SSH 连接。信息 ssh:执行:cat /etc/pld-release

(sudo=false) DEBUG ssh: stderr: cat: /etc/pld-release DEBUG ssh: stderr: : 没有这样的文件或目录

DEBUG ssh:退出状态:1 DEBUG guest:尝试:suse DEBUG ssh:重新使用 SSH 连接。INFO ssh: 执行: cat /etc/SuSE-release (sudo=false) DEBUG ssh: stderr: cat: /etc/SuSE-release DEBUG ssh: stderr: : No such file or directory

DEBUG ssh:退出状态:1 DEBUG guest:尝试:fedora DEBUG ssh:重新使用 SSH 连接。INFO ssh: Execute: grep 'Fedora release 1[678]' /etc/redhat-release (sudo=false) DEBUG ssh: stderr: grep: /etc/redhat-release DEBUG ssh: stderr: : No such file or directory

调试 ssh:退出状态:2 调试访客:尝试:ubuntu 调试 ssh:重新使用 SSH 连接。信息 ssh:执行:cat /proc/version | grep 'Ubuntu' (sudo=false) DEBUG ssh: stdout: Linux version 3.2.0-32-generic (buildd@batsu) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #51-Ubuntu SMP 2012 年 9 月 26 日星期三 21:33:09 UTC

调试 ssh:退出状态:0 信息访客:检测到:ubuntu!INFO 访客:完整的访客链:[[:ubuntu,

], [:debian, #], [:linux, #]] INFO guest:执行能力:configure_networks (ubuntu) DEBUG guest:正在搜索

cap:configure_networks DEBUG guest:签入:ubuntu DEBUG guest:签入:debian DEBUG guest:在debian DEBUG ssh中找到cap:configure_networks:重新使用SSH连接。信息 ssh: 执行: sed -e '/^#VAGRANT-BEGIN/,/^#VAGRANT-END/ d' /etc/network/interfaces > /tmp/vagrant-network-interfaces (sudo=true) 调试 ssh: stderr : sudo: 没有 tty 并且没有指定 askpass 程序

DEBUG ssh:stderr:对不起,再试一次。

调试 ssh:stderr:sudo:不存在 tty,也没有指定 askpass 程序

DEBUG ssh:stderr:对不起,再试一次。sudo: 不存在 tty,也没有指定 askpass 程序对不起,再试一次。sudo: 3 次错误的密码尝试

调试 ssh:退出状态:1 错误守望者:发生错误:以下 SSH 命令以非零退出状态响应。Vagrant 假设这意味着命令失败!

sed -e '/^#VAGRANT-BEGIN/,/^#VAGRANT-END/ d' /etc/network/interfaces > /tmp/vagrant-network-interfaces

4

2 回答 2

2

对我来说,这个问题是由于 vagrant 用户无法在没有密码的情况下运行 sudo 引起的。

登录来宾(通过 gui 模式)并确保在 /etc/sudoers 中设置 vagrant 用户是这样的解决方法:

vagrant ALL=(ALL) NOPASSWD: ALL

以 root 身份运行“visudo”以编辑此文件。

实际上,我获得了额外的乐趣,因为 .box 文件设置正确,但是我的 puppet 清单用其他组覆盖了 sudoers - 所以最初的 vagrant up 运行良好,但随后的规定失败了。

于 2013-09-19T11:10:36.220 回答
0

vagrant up正在尝试删除任何现有的块,如下所示

#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto eth1
iface eth1 inet dhcp
    post-up route del default dev $IFACE
#VAGRANT-END

/etc/network/interfaces注入一个新块以启用默认的 NAT 网络模式。

sed -e '/^#VAGRANT-BEGIN/,/^#VAGRANT-END/ d' /etc/network/interfaces > /tmp/vagrant-network-interfaces

vagrant up该命令删除了 vagrant 生成的块并将输出重定向到一个新文件,我相信它是该过程的一部分。不知道为什么 vagrant 抱怨非零退出代码。即使没有这样的代码块,sed 也应该返回 0。可能是一个错误。

注意:Vagrant 1.3.0 刚刚发布。尝试将您的 vagrant (1.3.0) + virtualbox (4.2.16) 组合升级到最新版本。

高温高压

于 2013-09-06T11:23:27.907 回答