我正在尝试在 Ubuntu trusty64 主机上的 CentOS/7 来宾上自动配置 VBoxGuestAdditions,我发现最好的方法是直接从 virtualbox.org 下载 .iso,挂载它并安装 Additions。
一切正常,但有一个问题我无法弄清楚 - 我无法从来宾的 shell 配置程序中访问确切版本的 virtualbox 以下载匹配版本的 VBoxGuestAdditions.iso 文件。
所以这就是我正在做的事情:
在流浪文件中:
...
config.vm.provision "shell", path: "provision.sh"
...
在 shell 配置器中:
...
wget -c http://download.virtualbox.org/virtualbox/4.3.36/VBoxGuestAdditions_4.3.36.iso -O /opt/VBoxGuestAdditions.iso
mount /opt/VBoxGuestAdditions.iso -o loop /mnt
sh /opt/VBoxLinuxAdditions.run --nox11
rm /opt/*.iso
chkconfig --add vboxadd
chkconfig vboxadd on
...
问题出4.3.36在 VBoxGuestAdditions_4.3.36.iso 下载路径中。
我可以通过
config.vm.provision "shell", path: "provision.sh", :args => <args>
在 Vagrantfile 中,但我看不到如何从此处的主机获取实际的版本字符串,以将其传递给来宾上的配置程序。
就像是
config.vm.provision "shell", path: "provision.sh", :args => "--provider-version="+config.vm.provider.version
将是理想的,但这不起作用afaik。