17

最近、vagrant を使用して VM をインストールしようとしましたが、「vagrant up」は常に次のエラーで失敗しました。

NFS 共有フォルダーのマウントに失敗しました。これは、ほとんどの場合、NFS クライアント ソフトウェアがゲスト マシンにインストールされていないことが原因です。NFS クライアント ソフトウェアが正しくインストールされていることを確認し、使用している Linux ディストリビューションに固有のリソースを調べて、これを行う方法の詳細を確認してください。

私のマシンには NFS クライアントが適切にインストールされていたので、エラーの他の原因を探したところ、/etc/exports が破損している可能性があることを説明するブログ投稿が見つかりました。vagrant がそのファイルを適切に再構成することを期待して、exportsbak (コメント付きの例のみを含む) を復元しましたが、そうではなく、エラーはまだ残っています。

vagrant にそのファイルを強制的に再生成または修正させるにはどうすればよいですか? ありがとう。

4

4 に答える 4

26

ファイルを削除するだけです。

sudo rm -f /etc/exports

プロセス中にファイルが再作成されvagrant upます。

于 2012-09-30T13:42:47.167 に答える
0
  1. NSF サーバーがインストールされていないことを確認してください。できることは…</li>

dpkg -l | grep nfs-kernel-server

  1. インストールされていない場合は、必要なパッケージをインストールしてください…</li>

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 Folders の下に行を追加します...

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

vagrant の起動時にルート パスワードを要求されます。ルート パスワードなしで実行するには、/etc/sudoers を編集して次の行を追加します…</p>

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
于 2014-12-08T14:35:07.687 に答える