/ vagrantフォルダーを同期させることができません。 WindowsホストからCentOSゲストに同期しますが、手動でvagrant rsync
またはvagrant up
を実行し、ゲスト内の新しいファイルを削除する場合に限ります。ゲストからホストに同期されません。
$ vagrant ssh
Last login: Wed Mar 15 21:00:00 2017 from 10.0.2.2
[vagrant@localhost ~]$ cd /vagrant
[vagrant@localhost vagrant]$ ls
Vagrantfile vagrant.log
[vagrant@localhost vagrant]$ touch tmp.txt
[vagrant@localhost vagrant]$ ls
tmp.txt Vagrantfile vagrant.log
[vagrant@localhost vagrant]$ exit
logout
Connection to 127.0.0.1 closed.
Chloe@xps /cygdrive/c/Users/Chloe/Documents/server
$ ls
vagrant.log Vagrantfile
手動でマウントしようとしましたが、エラーが発生しました
[vagrant@localhost vagrant]$ Sudo mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant
/sbin/mount.vboxsf: mounting failed with the error: Protocol error
VirtualBoxインターフェースで共有フォルダーを手動で設定して再起動しました
vagrant up
でエラーは発生せず、 デバッグログ には何もありません。
バージョン5.1.16r113841(Qt5.6.2)
CentOS Linuxリリース7.3.1611(コア)
Windows 8.1
VirtualBoxの/vagrant
の名前(1列目)をvagrant
に変更し、ゲスト内でこのコマンドを手動で実行することで修正しました。
[vagrant@localhost ~]$ Sudo mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
[vagrant@localhost vagrant]$ touch /vagrant/tmp.txt
[vagrant@localhost vagrant]$ exit
Connection to 127.0.0.1 closed.
Chloe@xps /cygdrive/c/Users/Chloe/Documents/server
$ ls
tmp.txt vagrant.log Vagrantfile
「自動マウント」チェックボックスを選択しなくても、自動的にマウントされます。ちなみに、1000はvagrant
ユーザーのuidとgidです。 id -u vagrant; id -g vagrant
これをVagrantfile
に追加できます。
config.vm.provision "Shell", run: "always", inline: <<-Shell
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant
Shell
その問題を解決するバージョン5.1.18にVirtualboxにアップデートすることをお勧めします!