在Oracle VirtualBox 5.0.16 r105871上,vago up for bento / ubuntu-16.04失败了

时间:2016-09-04 11:50:02

标签: vagrant ubuntu-16.04 bento

今天我计划使用vagrant将最新的Ubuntu版本发布到我的虚拟框中。加载图像并运行vagrant up后,我收到如下所示的错误,该错误与虚拟盒的网络配置有关。

有趣的是,已经有一些在线帖子(主要在GitHub上,例如:https://github.com/mitchellh/vagrant/issues/7155),还有AskUbuntu(https://askubuntu.com/questions/760871/network-settings-fail-for-ubuntu-xenial64-vagrant-box),StackOverflow(vagrant up command giving error and eth1 not showing a resolvable ip address)和StackExchange({{ 3}})。但是,这些问题与xenial64(即 bento)或使用public_network配置有关。

正如https://unix.stackexchange.com/questions/188413/not-able-to-resolve-ip-address-for-eth1-in-vagrant-vm中所述,ubuntu/trusty64ubuntu/wily64不存在此问题,但似乎ubuntu/xenial64bento/ubuntu-16.04都存在问题(即两个Ubuntu 16盒)。

正如您将在下面的Vagrantfile中看到的,我对bento/ubuntu-16.04进行了简单设置,并仅使用private_network。要清楚,我无法真正使用这篇文章(https://askubuntu.com/questions/760871/network-settings-fail-for-ubuntu-xenial64-vagrant-box),因为它建议注释掉流浪汉配置的public_network部分。另外,我应该提到在发生此错误时没有其他VM正在运行。

从错误日志中可以看出netowrk接口eth1存在问题,但问题究竟是什么,我不清楚。我以前成功启动了hashicorp/precise32ubuntu/trusty64 Ubuntu框,它们具有相同的vagrant配置和相同的Oracle VB,并且没有遇到过这个问题。

感谢任何帮助。我的技术设置和参考文件如下所列。

干杯 AHL

设定:

Vagrantfile:

Vagrant.configure(2) do |config|

  config.vm.box = "bento/ubuntu-16.04"

  config.vm.network "private_network", ip: "192.168.33.10"

end

输出:

C:\Users\AHL\workspace>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'bento/ubuntu-16.04' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
GuestAdditions 5.0.16 running --- OK.
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

/sbin/ifdown eth1 2> /dev/null

Stdout from the command:



Stderr from the command:

mesg: ttyname failed: Inappropriate ioctl for device

C:\Users\AHL\workspace>

2 个答案:

答案 0 :(得分:6)

我遇到了问题,发现由于某种原因,虚拟机没有将虚拟电缆连接到网络接口。

我通过添加

解决了这个问题
    vb.customize ["modifyvm", :id, "--cableconnected1", "on"]

到我的config.vm.provider "virtualbox" do |vb|循环,例如在我的情况下我想要1GB RAM,USB3和连接的网线:

config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
    vb.customize ["modifyvm", :id, "--usbxhci", "on"]               # Connect USB3 disk
    vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
end

我在--cableconnected1中使用的任何其他框中都不需要此config.vm.box = "bento/ubuntu-16.04"行。

也许你必须检查vagrant up是否没有连接任何电缆,我还有一个额外的网络,eth0没有连线,eth1已连接。

检查您的具体情况。也许你必须在选项后玩这个数字。

希望这有帮助!

答案 1 :(得分:2)

我认为在您的列表中,您需要添加https://github.com/mitchellh/vagrant/issues/6871

问题仍然存在 - 有些用户报告说他们可以解决问题(https://github.com/mitchellh/vagrant/issues/6871#issuecomment-223290622https://github.com/mitchellh/vagrant/issues/6871#issuecomment-222348226

如果您可以使用打包程序自行构建盒子,则可以解决网络问题。