最初的情况是这样的:
- 企业软件是基于PHP 的。
- 它由 Windows 2003 Server 上的 Apache 2 提供。
- 这是大的。
- 这是相当不专业的开发人员的遗产,他们不介意区分大小写或目录分隔符。
期望的情况如下所示:
- 一切都迁移到了 Apache 2,这是一个尚未确定风格的 Linux 发行版。
问题:
- 无数的代码,而不关心区分大小写或目录分隔符。
我已经做了一些研究,但不幸的是没有找到任何也适合生产环境的东西。CIOPFS
看起来不错,但明确表示不能在生产系统上使用。您认为mod_spelling
Apache 会是一个选择吗?对我来说尚未解决的问题是,PHP 是否借助该模块或直接访问文件(这将使其无用)。
我们应该吞下苦果并检查所有代码吗?我们希望避免这种情况,因为我们将用新的构建内容逐步替换当前的软件环境(从长远来看)。
答案1
请参阅我在 ubuntuforums 上的帖子:
http://ubuntuforums.org/showthread.php?t=1497253
创建虚拟磁盘
dd if=/dev/zero of=virtual.dsk bs=1048576 count=150
格式化它
mkfs.vfat virtual.dsk
安装它
sudo mkdir -p /mnt/vfat
sudo mount virtual.dsk /mnt/vfat -t vfat -o loop
PS:永久安装:
/path/to/virtual.dsk /mnt/vfat vfat loop,owner,group,umask=000 0 0
以及此处的附加信息: http://fatter-keine.dk/helptipsguides/ubuntu/understanding_fstab.html
答案2
ZFS 和 JFS 都可以配置为不区分大小写:
zfs create -o casesensitivity=insensitive filesystem
jfs_mkfs -O /dev/sdax
编辑(7年后):
正如 @JorgeYanesDiez 评论的那样,Linux 内核终于添加了 ext4每个目录可选不区分大小写从版本 5.2 和 efsprogs 1.45 开始。
请注意,莱纳斯·托瓦兹 (Linus Torvalds)强烈反对该功能。
答案3
您可以使用 Samba 以不区分大小写的方式共享本地文件系统...本文有一些细节。
答案4
编写自己的保险丝包装器,使其比任何其他文件系统不区分大小写?通过一些 python 代码,这可以很快完成。