一尘不染

流浪者同步的文件夹无法在VirtualBox上实时工作

linux

我的已同步文件夹无法正常工作,它们在启动时已被一次性同步,但是当我在主机上进行更改时,vagrant无法实时进行同步。

首先,我的系统上有一些细节:

  • OS: Linux Mint 18 Sarah
  • Virtualbox version: 5.0.24-dfsg-0ubuntu1.16.04.1
  • Vagrant version: 1.9.0
  • vagrant-hostmanager (1.8.5)
  • vagrant-share (1.1.6)
  • vagrant-vbguest (0.13.0)

在我们开始讨论之前,我没有使用Virtualbox的最新版本,因为它不在存储库中,并且很容易vagrant up失败。

我的Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.network "private_network", ip: "192.168.88.88"
  config.vm.hostname = "my.centos.dev"
end

vagrant up给我这个

现在,当我在主机上创建文件时:

falnyr@mint:~/centos-vagrant $ ls
ansible  Vagrantfile
falnyr@mint:~/centos-vagrant $ touch file.txt
falnyr@mint:~/centos-vagrant $ ls
ansible  file.txt  Vagrantfile

和SSH到访客机:

falnyr@mint:~/centos-vagrant $ vagrant ssh
[vagrant@my ~]$ ls /vagrant/
ansible  Vagrantfile

如您所见,未创建文件。当我执行vagrant reload同步时,将在计算机引导过程中再次执行同步。

注意:由于我需要跨平台的就绪环境,因此无法使用NFS同步。

关于如何启用实时同步的任何想法?


阅读 222

收藏
2020-06-07

共1个答案

一尘不染

rsync默认情况下,盒子的所有者已启用同步类型。如果您查看盒子的Vagrantfile(在我的情况下为Vagrantfile,~/.vagrant.d/boxes/centos- VAGRANTSLASH-7/0/vmware_fusion但您可能在virtualbox提供程序下),则会看到一个带有以下内容的Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.synced_folder ".", "/vagrant", type: "rsync"
end

只需从box目录中删除此文件,它将起作用。

请注意,如果您打算使用nfs,则可以在Vagrantfile中更改同步类型

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.network "private_network", ip: "192.168.88.88"
  config.vm.hostname = "my.centos.dev"
  config.vm.synced_folder ".", "/vagrant", type: "nfs"
end
2020-06-07