无法创建具有可访问网络接口的VM

n00*_*00n 1 windows ubuntu virtualbox vagrant ubuntu-17.10

我开始创建新的VM进行开发,因为我的ubuntu 14.4似乎已过时。

我决定将来改用ubuntu 17.10,但首次安装失败。

这是我的流浪文件:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

    config.vm.provider "virtualbox" do |vb|
        vb.gui = false
        vb.memory = "1024"
    end

    config.vm.box = "generic/ubuntu1710"
    config.vm.network "forwarded_port", guest: 80, host: 8080, auto_correct: false
    config.vm.network "private_network", ip: "192.168.37.200"

end
Run Code Online (Sandbox Code Playgroud)

在供应期间,我得到了这个

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

/sbin/ifdown 'eth1' || true
/sbin/ip addr flush dev 'eth1'
# Remove any previous network modifications from the interfaces file
sed -e '/^#VAGRANT-BEGIN/,$ d' /etc/network/interfaces > /tmp/vagrant-network-interfaces.pre
sed -ne '/^#VAGRANT-END/,$ p' /etc/network/interfaces | tac | sed -e '/^#VAGRANT-END/,$ d' | tac > /tmp/vagrant-network-interfaces.post

cat \
  /tmp/vagrant-network-interfaces.pre \
  /tmp/vagrant-network-entry \
  /tmp/vagrant-network-interfaces.post \
  > /etc/network/interfaces

rm -f /tmp/vagrant-network-interfaces.pre
rm -f /tmp/vagrant-network-entry
rm -f /tmp/vagrant-network-interfaces.post

/sbin/ifup 'eth1'

Stdout from the command:



Stderr from the command:

bash: line 4: /sbin/ifdown: No such file or directory
bash: line 20: /sbin/ifup: No such file or directory
Run Code Online (Sandbox Code Playgroud)

无法通过托管窗口使用机器。设置之前,我必须安装某些东西吗?还是您更喜欢hashicorb的另一台机器模板?

关于n00n

Nic*_*lay 5

流浪不能与Ubuntu 17.10的那一刻时,由于去掉了传统的网络配置工具和文件:/sbin/ifup/sbin/ifdown

但是您可以使用以下解决方法通过网络接口创建无聊的VM:

1. 将安装添加ifupdown到您的Vagrantfile中:

# -*- mode: ruby -*-
# vi: set ft=ruby :

$provision_script = <<PROVISION
    apt-get -y update
    apt-get install ifupdown -y
PROVISION

Vagrant.configure("2") do |config|
    config.vm.provision "shell", inline: $provision_script
    config.vm.provider "virtualbox" do |vb|
        vb.gui = false
        vb.memory = "1024"
    end

    config.vm.box = "generic/ubuntu1710"
    config.vm.network "forwarded_port", guest: 80, host: 8080, auto_correct: false
    config.vm.network "private_network", ip: "192.168.37.200"
end
Run Code Online (Sandbox Code Playgroud)

2. 创建流浪VM:

vagrant up
Run Code Online (Sandbox Code Playgroud)

当然,它会因所涉及的错误而失败。

3. 在刚创建的VM中启动供应脚本。它将安装ifupdown包含必需文件的软件包:

vagrant provision
Run Code Online (Sandbox Code Playgroud)

4. 现在重新加载您的VM:

vagrant reload
Run Code Online (Sandbox Code Playgroud)