3

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

我努力了

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

但它会禁用整个共享。

我在带有 Virtualbox 5.0.12 的 Windows 7(主机)上使用 Vagrant 1.8.1,来宾操作系统是 Ubuntu 12.04。

4

1 回答 1

1

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

  1. 禁用 Vagrant 同步文件夹(在 中vagrantfile): config.vm.synced_folder ".", "/vagrant", disabled: true
  2. 将访客添加安装到 VirtualBox
  3. 打开 VirtualBox Manager 并选择 Settings > Shared Folders > Adds new shared folder (sic)
  4. 在“文件夹路径:”中添加您的主机路径,在“文件FolderName夹名称:”中添加您的客人姓名(例如)
  5. 你的guest name会出现在guest linux中/media/sf_FolderName
  6. 授予您首选的来宾用户对该文件夹的访问权限。我做到了sudo adduser vagrant vboxsfsudo chmod 777 /media/sf_FolderName但它对我不起作用 - 流浪用户仍然可以获得permission denied。这些命令似乎对其他人有用,但我最终只是以 root 身份工作,它确实具有访问权限。

顺便说一句,这是我的 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),您将想要阻止 watch/rsync 运行并手动复制回另一个方向。不理想,但至少使用此设置进行开发很快。

感谢 Frederic Henri 将我推向这个方向。

于 2016-02-03T10:51:32.223 回答