生产服务器不区分大小写的文件系统?

生产服务器不区分大小写的文件系统?

最初的情况是这样的:

  • 企业软件是基于PHP 的。
  • 它由 Windows 2003 Server 上的 Apache 2 提供。
  • 这是大的
  • 这是相当不专业的开发人员的遗产,他们不介意区分大小写或目录分隔符。

期望的情况如下所示:

  • 一切都迁移到了 Apache 2,这是一个尚未确定风格的 Linux 发行版。

问题:

  • 无数的代码,而不关心区分大小写或目录分隔符。

我已经做了一些研究,但不幸的是没有找到任何也适合生产环境的东西。CIOPFS看起来不错,但明确表示不能在生产系统上使用。您认为mod_spellingApache 会是一个选择吗?对我来说尚未解决的问题是,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 代码,这可以很快完成。

相关内容