/etc/exports が破損しているため、Vagrant は NFS 共有フォルダーのマウントに失敗します。そのファイルを修正するにはどうすればよいですか?
質問
最近、vagrant を使用して VM をインストールしようとしましたが、「vagrant up」は常に次のエラーで失敗しました。
NFS 共有フォルダーのマウントに失敗しました。これは、ほとんどの場合、NFSクライアントソフトウェアがゲストマシンにインストールされていないことによって引き起こされます。NFSクライアントソフトウェアが適切にインストールされていることを確認し、これを行う方法の詳細については、使用しているLinuxディストリビューションに固有のリソースを参照してください。
NFS クライアントは私のマシンに正しくインストールされていたので、他のエラーの原因を探したところ、/etc/exports が破損している可能性があることを説明するブログ投稿を見つけました。vagrant がそのファイルを適切に再構成することを期待して、exportsbak (コメントされた例のみが含まれています) を復元しました...しかしそうではなく、エラーはまだ残っています。
vagrant にそのファイルを強制的に再生成または修正するにはどうすればよいですか?ありがとう。
解決
ファイルを削除するだけです。
sudo rm -f /etc/exports
ファイルは実行中に再作成されます。 vagrant up
プロセス。
他のヒント
私はapt(v 1.2.2)からvagrantパッケージを使用したので、UbuntuでNFSを実行できませんでした(V 1.2.2)
私はここから最新のヴァグラントバージョン(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.synced_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