我在我的Ubuntu 14.04 64位桌面上安装了VirtualBox 4.3.10和Vagrant 1.4.3。
之前,我使用过vagrant技术,但这次出现了多个问题。让我描述一下我做了什么
将私有git克隆到本地系统 /opt/lampp/htdocs/{project} : 完成
root@desktop:/opt/lampp/htdocs/{project}$ vagrant up
执行时终端会给出以下信息
主机(4.3.10)和客户机(4.2.0)上的GuestAdditions版本不匹配。
命令完成后会显示以下消息
在Linux guest中无法挂载文件夹。这通常是因为“vboxsf”文件系统不可用。请验证客户端是否已正确安装增强功能并可以正常工作。尝试的命令是:
...
我明白这是版本差异造成的。
检查
vagrant vbguest --status
GuestAdditions 4.3.10 运行 --- OK。
打开浏览器并使用
http://192.168.0.33
(在私有git repo的README.md文件中提到),但它不起作用。
更新
按照这里的建议安装了vagrant-vbguest
$:sudo vagrant plugin install vagrant-vbguest
已安装插件'vagrant-vbguest (0.10.0)'!
通过这样做,2.中描述的GuestAdditions
版本差异的消息消失了。
- 重新启动
vagrant halt
然后vagrant up
[default] 清除先前设置的转发端口...
[default] 清除先前设置的网络接口...
[default] 根据配置准备网络接口...
[default] 转发端口...
[default] -- 22 => 2222(适配器1)
[default] -- 80 => 8080(适配器1)
[default] 启动虚拟机...
[default] 等待虚拟机启动。这可能需要几分钟时间...
[default] 虚拟机已启动并准备就绪!
GuestAdditions 4.3.10 运行中---OK。
[default] 配置和启用网络接口...
[default] 挂载共享文件夹...
[default] -- /vagrant
在Linux客户机中无法挂载文件夹。这通常是因为“vboxsf”文件系统不可用。请确认客户机上已正确安装并能正常工作的Guest Additions。尝试的命令是:
mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` /vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` /vagrant /vagrant
我需要在本地vagrantfile
中更改任何内容、更改vagrant版本或其他吗?
有些人说这是一个bug,而有些人提供了针对Ubuntu < 14.04的解决方案。
请提供解决此问题的提示和建议。
lsmod
命令并检查是否已安装内核模块吗?$ lsmod | grep vbox
- m1keilvboxnetadp 25670 0
vboxnetflt 27613 0
vboxdrv 339502 3 vboxnetadp,vboxnetflt,vboxpci - dkode
vboxsf
内核模块由于某些原因没有被加载。这是必需的,以便您可以使用共享文件夹。modinfo vboxsf
呢?它存在吗? - m1keil