【问题标题】:Symlinking a vagrant shared folder with puppet将 vagrant 共享文件夹与 puppet 进行符号链接
【发布时间】:2013-02-22 20:05:57
【问题描述】:

我需要在带有 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]/ensure: change from directory 链接失败:无法删除现有文件

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

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

【问题讨论】:

    标签: puppet vagrant


    【解决方案1】:

    尝试添加替换:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-12
      • 2014-04-04
      • 2016-03-21
      • 1970-01-01
      • 1970-01-01
      • 2018-10-06
      • 2016-09-08
      • 2017-08-20
      相关资源
      最近更新 更多