Vagrant не удается подключить общие папки NFS из-за поврежденного файла /etc/exports.Как мне исправить этот файл?
Вопрос
Недавно я попытался установить виртуальную машину с помощью vagrant, но "vagrant up" всегда завершался ошибкой:
Не удалось подключить общие папки NFS.Чаще всего это вызвано тем, что клиентское программное обеспечение NFS не установлено на гостевой машине.Пожалуйста, убедитесь , что клиентское программное обеспечение NFS установлено правильно, и обратитесь к любым ресурсам , относящимся к используемому вами дистрибутиву Linux, для получения дополнительной информации о том, как это сделать.
Клиент NFS был правильно установлен на моем компьютере, поэтому я поискал другие причины ошибок и нашел сообщение в блоге, объясняющее, что мой файл /etc/exports может быть поврежден.Я восстановил exportsbak (который содержит только прокомментированные примеры), надеясь, что vagrant правильно перенастроит этот файл...но этого не происходит, и ошибка все еще существует.
Как я могу заставить vagrant восстановить этот файл или исправить его?Спасибо.
Решение
Просто удалите файл.
sudo rm -f /etc/exports
Файл будет создан заново во время vagrant up
процесс.
Другие советы
Я не смог получить NFS, работающий на моем Ubuntu, потому что я использовал бродные пакеты от APT (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 запускается, он попросит корневой пароль, чтобы запустить его без корневого пароля, вы можете редактировать / 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
-
- Если он не установлен, установите необходимые пакеты ...