我需要使用 vagrant 在旧服务器上重新创 build 置,我们在主目录中提供站点。无法在 vagrant 中将共享文件夹设置为/home,因为这会删除 vagrant 用户。因此,我想创建一个共享文件夹,它实际上是主目录的符号链接(symbolic link)。
如果我在 Vagrantfile 中创建这样的共享目录:
config.vm.share_folder "v-www", "/webroot", "/Users/me/sites/vagrant"
然后尝试使用 puppet 创建一个符号链接(symbolic link)来覆盖此目录,如下所示:
class misc {
file { '/webroot':
ensure => 'link',
target => '/home',
force => true,
}
}
它抛出一个错误:
Error: Could not remove existing file
Error: /Stage[main]/Misc/File[/webroot]/ensure: change from directory to link failed: Could not remove existing file
当我登录到盒子并手动尝试此操作时,这也会失败,因为我实际上无法删除 webroot - 我认为这是因为它创建为某种 nfs 共享或类似的东西。
有什么想法可以解决这个问题吗?
最佳答案
尝试添加替换:
class misc {
file { '/webroot':
ensure => 'link',
target => '/home',
force => true,
replace => true,
}
}
关于puppet - 使用 puppet 对 vagrant 共享文件夹进行符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15274343/