stream浪同步文件夹不区分大小写

对于我们的networking堆栈,我们正在从Windows Server迁移到CentOS。 为了便于开发,我们利用Vagrant在本地运行CentOS虚拟机。 我们使用Vagrant的同步文件夹function来允许开发者在他们的主机上使用他们最喜欢的IDE,但是我们发现这个设置缺less一个关键特性:文件系统区分大小写。

虚拟机内部的同步文件夹明显占用了主机文件系统的属性,所以如果从Windows机器甚至OSX上开发,文件系统不区分大小写。 这是一个大问题,因为我们的生产服务器将是纯粹的CentOS,其文件系统区分大小写。

区分大小写是我们希望拥有本地虚拟机的主要原因之一。 我们想阻止“它在我的机器上运行!”

我们已经考虑或尝试过的一些解决方法:

  • 使用lsyncd将vagrant共享同步到VM区分大小写的位置
    • 更新主机上的文件似乎不会在lsync侦听的虚拟机中生成事件
  • 在主机上创build一个区分大小写的分区
    • (不适用于Windows)
  • 使用桑巴
    • 这可能是一个select,但我们还没有审查。

有没有更好的办法? 请注意,我们有开发人员使用Windows,OS X和Ubuntu,解决scheme需要在任何地方工作。

    我在OS X上解决了这个问题,在我的项目文件夹中创build了一个稀疏磁盘映像,并将其格式化为区分大小写。

    安装稀疏图像后,我将代码移到它上面。 然后用一个符号链接/别名replace原来的“src”文件夹到装载的图像。 这样,共享文件夹在来宾操作系统内区分大小写。

    绝对不是最优雅的解决scheme,但它确实缩小了部署和开发环境之间的差距,这就是为什么我开始使用Vagrant的原因。

    也许类似的解决方法可以为Ubuntu和Windows工作吗?

    我遇到了同样的问题,我解决这个问题的方式是通过git clone克隆虚拟机上的工作目录,并添加一个指向它的Samba共享,使其在Windows或Mac上都可访问。