由于损坏/ etc / exports,Vagrant无法安装NFS共享文件夹。如何修复该文件?
题
我最近试图用vagrant安装一个VM,但“VAGRANT UP”始终失败,错误:
安装NFS共享文件夹失败。这通常是由NFS引起的 客户机软件未安装在Guest Machine上。请核实 NFS客户端软件已正确安装,并咨询任何资源 特定于Linux发行版,您可以使用有关如何的更多信息 这样做。
NFS客户端在我的机器上安装得正确,所以我寻找了其他错误的原因,发现了一个博客解释我/ etc / exports可能已损坏。我恢复了exportsbak(仅包含注释的示例),希望Vagrant将正确重新配置该文件......但它没有,并且错误仍然存在。
如何强迫Vagrant来重新生成该文件或修复它?谢谢。
解决方案
只删除文件。
sudo rm -f /etc/exports
.
文件将在vagrant up
过程中重新创建。
其他提示
我无法在我的Ubuntu上运行NFS,因为我使用APT(v 1.2.2)的VARANT包
我从这里安装了最新的VAGRANT版本(1.5): http://www.vagrantup.com/downloads 和nfs工作。
- 检查NSF服务器未安装,您可以...
dpkg -l | grep nfs-kernel-server
- 如果未安装,请安装所需的包...
apt-get install nfs-kernel-server apt-get install nfs-common service nfs-kernel-server restart sudo service portmap restart mkdir -p /var/exports
-
然后在vagranfile中添加#shared文件夹下的行...
config.vm.synce_folder“www”,“/ var / www”,:nfs=> {:mount_options=>“dmode= 755”,“fmode= 755”]}
当vagrant开始时它会要求root密码,在没有root密码的情况下运行它,您可以编辑/ etc / sudoers并添加以下行...
.Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports Cmnd_Alias VAGRANT_NFSD_CHECK = /etc/init.d/nfs-kernel-server status Cmnd_Alias VAGRANT_NFSD_START = /etc/init.d/nfs-kernel-server start Cmnd_Alias VAGRANT_NFSD_APPLY = /usr/sbin/exportfs -ar Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /bin/sed -r -e * d -ibak /etc/exports %sudo ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD_CHECK, VAGRANT_NFSD_START, VAGRANT_NFSD_APPLY, VAGRANT_EXPORTS_REMOVE
-
- 如果未安装,请安装所需的包...