O Vagrant falha ao montar pastas compartilhadas NFS devido a /etc/exports corrompidos.Como faço para corrigir esse arquivo?

StackOverflow https://stackoverflow.com//questions/12651733

  •  11-12-2019
  •  | 
  •  

Pergunta

Recentemente tentei instalar uma VM com vagrant, mas "vagrant up" sempre falhava com o erro:

Falha na montagem de pastas compartilhadas NFS.Isso geralmente é causado pelo software cliente da NFS que não está sendo instalado na máquina de convidados.Verifique se o software do cliente NFS está instalado corretamente e consulte quaisquer recursos específicos para a distro Linux que você está usando para obter mais informações sobre como fazer isso.

O cliente NFS foi instalado corretamente em minha máquina, então procurei outras causas de erros e encontrei uma postagem no blog explicando que meu /etc/exports pode estar corrompido.Restaurei o exportsbak (que contém apenas exemplos comentados), esperando que o vagrant reconfigurasse aquele arquivo corretamente...mas isso não acontece e o erro ainda está lá.

Como posso forçar o vagrant a regenerar esse arquivo ou corrigi-lo?Obrigado.

Foi útil?

Solução

Basta excluir o arquivo.

sudo rm -f /etc/exports

O arquivo será recriado durante o vagrant up processo.

Outras dicas

Eu não fui capaz de obter NFS correndo no meu Ubuntu, porque eu usei os pacotes de vagabundo do APT (V 1.2.2)

Eu instalei a última versão Vagrant (1.5) daqui: http://www.vagantup.com/downloads . e NFS funcionou.

  1. Verifique se o servidor NSF não está instalado, você pode fazer…

dpkg -l | grep nfs-kernel-server

  1. Se não estiver instalado, instale os pacotes necessários…

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. Em seguida, no Vagranfile, adicione a linha em #shared folders...

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

Quando o vagrant estiver iniciando ele pedirá a senha do root, para executá-lo sem a senha do root você pode editar /etc/sudoers e adicionar as seguintes linhas…

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top