【发布时间】:2014-02-04 20:39:24
【问题描述】:
我在 Mac OS X 主机上运行 VirtualBox,并带有 CentOS 来宾。我正在使用 Vagrant 设置一个共享文件夹,这样我就可以在主机和来宾上使用代码。
问题在于主机的文件系统不区分大小写,而客户机的文件系统不区分大小写。所以如果我在客人身上运行一些东西,比如:
cd /shared-folder
mkdir foo
mv foo Foo
它将失败,因为它看到 Foo 已经存在于主机上。这是一个简化的例子,但我有真实的案例,我试图在客户机上使用 git,它最终会做类似的事情。
有什么办法可以避免这种情况吗?我更愿意提出适用于所有主机操作系统(Windows、Mac 和 Linux)的东西。
(一种选择可能是将主机的文件同步到来宾,但我希望避免这种情况。)
【问题讨论】:
-
如果你确实走 rsync 路线,你也许可以使用 vagrant-sync 插件github.com/cromulus/vagrant-rsync
-
CentOS 文件系统 {ext3,4} 应该区分大小写,OS X 上的 HFS+ 默认不区分大小写,这就是问题所在。您可以尝试使用 NFS 或 sshfs 代替默认的 vboxsf。
-
它似乎是一个 Virtualbox 共享文件夹功能,以支持主机上的各种底层文件系统,包括那些不区分大小写的文件系统。 virtualbox.org/ticket/437 愚蠢的,imo。狠狠地打了我的脸。使用当前操作系统的人现在会假设事物是区分大小写的。
标签: macos virtualbox vagrant