Vagrant共享文件夹没有同步

时间:2016-02-02 14:35:45

标签: linux vagrant virtualbox vagrantfile vagrant-windows

如何在没有运行任何同步方法的情况下拥有共享文件夹(从主机和来宾计算机访问同一文件夹)? (我想使用我自己的rsync脚本,这正是我需要的,没有Vagrant文​​件共享性能损失)。

我试过了

config.vm.synced_folder ".", "/vagrant", disabled: true

但它会禁用整个共享。

我在Windows 7(主机)上使用Vagrant 1.8.1和Virtualbox 5.0.12,而客户操作系统是Ubuntu 12.04。

1 个答案:

答案 0 :(得分:0)

您确实可以使用VirtualBox Manager共享文件夹。

  1. 禁用Vagrant synced文件夹(在vagrantfile中): config.vm.synced_folder ".", "/vagrant", disabled: true
  2. Install Guest Additions to VirtualBox
  3. 打开VirtualBox Manager并选择设置>共享文件夹>添加新的共享文件夹(原文如此)
  4. 在“文件夹路径:”中添加主机路径,并在“文件夹名称:”中添加您的访客名称(例如FolderName
  5. 您的访客姓名将显示在/media/sf_FolderName
  6. 中的来宾linux中
  7. 授予首选访客用户访问该文件夹的权限。我做了sudo adduser vagrant vboxsfsudo chmod 777 /media/sf_FolderName并且它对我不起作用 - 流浪者用户仍然获得permission denied。那些命令seem to have worked for others,但我最终只是以root身份工作,它有权访问。
  8. 顺便说一下,这是我的rsync公式(带有每秒轮询一次的手表),这对我来说非常有用。

    sudo watch -n 1 rsync -avh --delete --exclude-from=/media/sf_FolderName/FOLDERTOCOPY/rsync-exclude.txt /media/sf_FolderName/FOLDERTOCOPY /path/to/destination
    

    注意:仅当您在主机上进行更改时才有效(例如,在我的情况下使用Windows中的编辑器进行开发)。如果您对访客进行了更改(例如git pull),您可能希望停止此操作/ rsync运行并手动向另一个方向复制。不理想,但至少使用这种设置进行开发很快。

    感谢Frederic Henri在这个方向上轻推我。