我有一个与 Vagrant 和 CentOS 相关的问题。我正在尝试复制使用 WHM/cPanel 进行托管的 CentOS 服务器。服务器上的每个站点都托管在 中/home/$user/
。这意味着使用 Vagrant 时我需要有一个同步文件夹,如下所示:
config.vm.synced_folder "~/my-local-folder", "/home"
使用 Vagrant 复制此环境会成为一个问题,因为 vagrant 用户(用于访问 vagrant box)存储在/home
目录中。这意味着同步文件夹的过程会删除 vagrant 用户(除非 vagrant 目录已存在于 my-local-folder 中)。
我找到了一种重新创建 vagrant 用户(包括其 ssh 密钥)的方法,作为使用 puppet 配置服务器的一部分。我基本上重新添加了 vagrant 文件夹并创建了 .ssh 密钥,但这感觉不对。
还有其他方法可以解决这个问题吗?将文件托管在 Vagrant 框中的任何其他位置都不是一个选择,因为目标是尽可能接近地复制框。我发现在主目录之外创建 vagrant 用户将完全解决这个问题,但我一直无法确定这是否可行。
答案1
看起来,vagrant 用户是在创建 Vagrant 框时创建的。就我而言,和很多人一样,我使用的是来自http://www.vagrantbox.es/。此框创建 vagrant 用户,并定义 vagrant 用户主目录的位置 - 例如/home/vagrant
- 这意味着为了解决我的问题,我需要使用备用主位置与 vagrant 用户一起创建我自己的 CentOS 框。