Vagrant не может смонтировать общие папки NFS из-за поврежденного файла /etc/exports. Как мне исправить этот файл?


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

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

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

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

3 15

3 ответа:

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

sudo rm -f /etc/exports

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

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

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

  1. Проверьте, что сервер 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 добавьте строку под #общие папки...

    Конфигурация.виртуальная память.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