使用puppet Symlinking vagrant共享文件夹

时间:2013-03-07 14:55:02

标签: puppet vagrant

我需要在旧服务器上重新设置一个设置为vagrant的地方,我们在主目录中提供站点。无法在vagrant中为/ home设置共享文件夹,因为这将删除vagrant用户。因此,我想创建一个共享文件夹,它实际上是主目录的符号链接。

如果我在Vagrantfile中创建这样的共享目录:

config.vm.share_folder "v-www", "/webroot", "/Users/me/sites/vagrant"

然后尝试使用puppet创建一个符号链接覆盖此目录,如下所示:

class misc {
  file { '/webroot':
   ensure => 'link',
   target => '/home',
   force => true,     
  }
}

它会抛出错误:

  

错误:无法删除现有文件

     

错误:/ Stage [main] / Misc / File [/ webroot] /确保:从目录更改   链接失败:无法删除现有文件

当我登录框并手动尝试此操作时,这也会失败,因为我实际上无法删除webroot - 我认为这是因为它创建为某种类型的nfs共享或类似的东西。

我有什么想法可以解决这个问题?

1 个答案:

答案 0 :(得分:2)

尝试添加替换:

class misc {
  file { '/webroot':
   ensure  => 'link',
   target  => '/home',
   force   => true,     
   replace => true,
  }
}