我试图在Ubuntu trusty64主机上的CentOS / 7 guest虚拟机上自动配置VBoxGuestAdditions,我发现的最好方法是直接从virtualbox.org下载.iso,安装它和安装附加功能。
一切正常,但有一个我无法弄清楚的问题 - 我无法从访客的shell配置程序中访问虚拟机的确切版本,以下载匹配版本的VBoxGuestAdditions.iso文件。
所以,我在做什么:
在Vagrantfile中:
...
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
...
问题出在VBoxGuestAdditions_4.3.36.iso下载路径中的4.3.36
。
我可以通过
将参数传递给shell provisionerconfig.vm.provision "shell", path: "provision.sh", :args => <args>
在Vagrantfile中的,但是我无法看到如何从主机中获取实际版本字符串,以便将其传递给guest虚拟机上的配置器。
像
这样的东西config.vm.provision "shell", path: "provision.sh", :args => "--provider-version="+config.vm.provider.version
会很理想,但那并不适用。