Vagrant ne parvient pas à monter NFS dossiers partagés en raison de corrompu /etc/exports.Comment puis-je résoudre ce fichier?
Question
Récemment, j'ai essayé d'installer une machine virtuelle avec vagrant mais "vagrant up" toujours échoué avec l'erreur:
Montage NFS dossiers partagés échoué.C'est le plus souvent causée par le NFS le logiciel client n'est pas installé sur la machine hôte.Veuillez vérifier que le client NFS logiciel est correctement installé, et de consulter toutes les ressources spécifique pour la distribution linux que vous utilisez pour plus d'informations sur la façon de ce faire.
NFS client a été correctement installé sur ma machine j'ai donc cherché d'autres causes d'erreurs et a trouvé un billet de blog expliquant que mon /etc/exports est peut-être endommagé.J'ai restauré exportsbak (qui ne contient que des exemples commentés), en espérant que vagrant reconfigurer le fichier correctement...mais il ne le fait pas, et l'erreur est toujours là.
Comment puis-je forcer le vagabond à recréer le fichier ou le réparer?Merci.
La solution
Il suffit de supprimer le fichier.
sudo rm -f /etc/exports
Le fichier sera recréé lors de la vagrant up
processus.
Autres conseils
Je n'ai pas pu obtenir NFS en cours d'exécution sur mon Ubuntu, car j'ai utilisé les paquets Vagrant d'APT (V 1.2.2)
J'ai installé la dernière version vagabonde (1.5) à partir d'ici: http://www.vagrantup.com/downloads et NFS a travaillé.
- De vérifier la NSF server n'est pas installé, vous pouvez le faire...
dpkg -l | grep nfs-kernel-server
- Si il n'est pas installé, installez les paquets nécessaires...
apt-get install nfs-kernel-server
apt-get install nfs-common
service nfs-kernel-server restart
sudo service portmap restart
mkdir -p /var/exports
Puis dans Vagranfile ajouter la ligne #dossiers partagés...
config.vm.synced_folder "www", "/var/www", :nfs => { :mount_options => "dmode=755","fmode=755"] }
Quand vagabond est à partir de celui-ci vous demandera le mot de passe root, pour l'exécuter sans mot de passe root, vous pouvez éditer le fichier /etc/sudoers et ajouter les lignes suivantes...
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