由于/ etc / exports损坏,Vagrant无法挂载NFS共享文件夹。我该如何修复该文件?

时间:2012-09-29 09:53:47

标签: nfs vagrant

我最近尝试使用vagrant安装VM,但“vagrant up”总是因错误而失败:

  

挂载NFS共享文件夹失败。这通常是由NFS引起的   客户端软件未安装在客户机上。请验证   NFS客户端软件已正确安装,并查阅任何资源   具体到您正在使用的Linux发行版有关如何使用的更多信息   这样做。

NFS客户端已正确安装在我的计算机上,因此我查找了其他错误原因,并找到一篇博文说明我的/ etc / exports可能已损坏。我恢复了exportsbak(只包含注释的例子),希望流浪者能够正确地重新配置该文件......但事实并非如此,并且错误仍然存​​在。

如何强制vagrant重新生成该文件或修复它?感谢。

4 个答案:

答案 0 :(得分:24)

只需删除该文件即可。

sudo rm -f /etc/exports

该文件将在vagrant up过程中重新创建。

答案 1 :(得分:0)

我无法在我的Ubuntu上运行nfs,因为我使用了apt(V 1.2.2)中的vagrant包

我从这里安装了最新的Vagrant版本(1.5):http://www.vagrantup.com/downloads 和nfs一起工作。

答案 2 :(得分:0)

  1. 检查NSF服务器是否已安装,您可以执行...
  2. dpkg -l | grep nfs-kernel-server

    1. 如果未安装,请安装所需的软件包......
    2. apt-get install nfs-kernel-server apt-get install nfs-common service nfs-kernel-server restart sudo service portmap restart mkdir -p /var/exports

      1. 然后在Vagranfile中添加#shared文件夹下的行......

        config.vm.synced_folder“www”,“/ var / www”,:nfs => {:mount_options => “dmode = 755”,“fmode = 755”]}

      2. 当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
        

答案 3 :(得分:0)

如果您的主机是Windows,则需要安装一个流浪者插件Vagrant WinNFSd

let execute_command = rootPath + "\\build.bat"