Vagrant не удается подключить общие папки NFS из-за поврежденных /etc/exports. Как исправить этот файл?

Недавно я попытался установить виртуальную машину с бродягой, но "бродячий" всегда с ошибкой:

Не удалось установить общие папки NFS. Это чаще всего вызвано NFS клиентское программное обеспечение не устанавливается на гостевой машине. Пожалуйста, подтвердите что клиентское программное обеспечение NFS правильно установлено и проконсультируется с любыми ресурсами специфические для дистрибутива Linux, которые вы используете для получения дополнительной информации о том, как сделайте это.

Клиент NFS был правильно установлен на моей машине, поэтому я искал другие причины ошибок и обнаружил, что blogpost объясняет, что мой /etc/exports может быть поврежден. Я восстановил exportbak (который содержит только прокомментированные примеры), надеясь, что бродяга будет правильно перенастроить этот файл... но это не так, и ошибка все еще существует.

Как я могу заставить бродягу регенерировать этот файл или исправить его? Спасибо.

Ответы

Ответ 1

Просто удалите файл.

sudo rm -f /etc/exports

Файл будет воссоздан во время процесса vagrant up.

Ответ 2

Мне не удалось запустить nfs на моем Ubuntu, потому что я использовал бродячие пакеты из apt (V 1.2.2)

Я установил последнюю версию Vagrant (1.5) отсюда: http://www.vagrantup.com/downloads и nfs работали.

Ответ 3

  • Проверьте, что сервер NSF не установлен, вы можете сделать...

dpkg -l | grep nfs-kernel-server

  1. Если он не установлен, установите необходимые пакеты...

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" ]}

Когда брандмауэр запускается, он попросит пароль 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