0

我正在尝试在 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。

4

1 回答 1

0

我发现我问错了问题。真正的答案是vagrant-vbguest插件。它透明地处理 VBoxGuestAdditions 安装,使我们免于在配置中处理它。

于 2016-06-16T16:50:32.820 回答