1

以下に、この迷惑な設定があります。

 12     config.vm.provider "virtualbox" do |v|
 13       v.customize ["modifyvm", :id, "--memory", "256"]
 14       v.customize ["modifyvm", :id, "--cpus", "1"]
 15       v.customize ["modifyvm", :id, "--paravirtprovider", "kvm"]     #this should only be applied to LINUX guests
 16     end

このリンクでこれを見つけました。

場合によっては、VirtualBox のバージョンが >= 5.0 の場合、これは確実に機能するはずです。ただし、5.0 より前のバージョンでは、エラーが発生するはずです。

--paravirtprovider質問: VirtualBox バージョンで が有効になっているかどうかを確認するにはどうすればよいですか? 可能であれば、これを Vagrantfile 自体で実行したいと考えています。ありがとうございました!

4

1 に答える 1

2

これを行うにはもっと良い方法があるかもしれませんが、1 つの方法は次のとおりです。

# -*- mode: ruby -*-
# vi: set ft=ruby :
vbox_version = `VBoxManage --version`

Vagrant.configure(2) do |config|
  config.vm.box = 'ubuntu/trusty64'
  config.vm.provider 'virtualbox' do |v|
    v.customize ['modifyvm', :id, '--memory', '256']
    v.customize ['modifyvm', :id, '--cpus', '1']
    if vbox_version.to_f >= 5.0
      v.customize ['modifyvm', :id, '--paravirtprovider', 'kvm']
    end
  end
end

vbox_version = `VBoxManage --version`vagrant と VirtualBox を実行しているホスト システムで実行する必要があるため、configure ブロックの外で実行する必要があります。

于 2016-02-12T08:14:43.110 に答える