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


10

初始情况如下:

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

所需的情况如下所示:

  • 一切都在尚未确定的Linux发行版下迁移到Apache 2。

问题:

  • 无休止的大量代码,无需关心大小写或目录分隔符。

我已经进行了一些研究,但是不幸的是,没有找到适合生产环境的任何东西。CIOPFS看起来不错,但明确表示不用于生产系统。您是否会考虑mod_spelling选择Apache?对我来说,一个尚未解决的问题是,PHP是在该模块的帮助下还是直接访问文件(这将使它无用)。

我们应该吞下苦药并检查所有代码吗?我们希望避免这种情况,因为我们将逐步用新的构建材料替换当前的软件环境(从长远来看)。


另一种可能是mod_rewrite通过新服务器为旧应用程序(驻留在旧设置中)创建某种代理(),以这种方式替换部件...也许。
sr_

在OS X而不是Linux上托管它...您仍然可以使用unix环境,但是也可以使用不区分大小写的文件系统。
larsks 2012年

@sr_可以完成工作。但是,由于我们正在运行一个大型的在线商店系统,该系统已经产生了足够的流量,因此至少会使流量增加一倍(网络内部或外部无关紧要)。据我所理解。
彼得

@larsks尽管我鼓励OS X用于业务,但我不再认为它具有作为大规模Web服务器的未来。另外,我们公司鼓励使用开源软件,并努力保持平台独立性。
彼得

只是更新:遗憾的是,Apache模块并没有完成这项工作,因为只有HTTP请求才调用该模块,例如,PHP的include函数直接访问文件。我现在将尝试下面提到的Samba方法。
彼得

Answers:


3

只需在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


3

ZFS和JFS都可以配置为不区分大小写:

zfs create -o casesensitivity=insensitive filesystem

jfs_mkfs -O /dev/sdax

编辑(7年后):

正如@JorgeYanesDiez所评论的那样,Linux内核最终从5.2版和efsprogs 1.45版开始为每个目录添加了ext4 大小写不敏感

请注意,Linus Torvalds 强烈反对该功能


1
对于那些希望在2020年看到这些的人,ext4刚刚添加了caseFold支持。您需要Linux Kernel 5.2和e2fsprogs 1.45或更高版本。寻找+ F
Jorge Yanes Diez

2

您可以使用Samba以不区分大小写的方式共享本地文件系统... 本文有一些详细信息。


2
这是完全疯狂的,但IMO在所有其他选项中最少。
jgoldschrafe'2

@larsks谢谢,我将对其进行更深入的研究并尝试其工作原理。
彼得

@larsks即使我关注了这篇文章并尝试了一些变体,但遗憾的是它对我们没有用。不过谢谢你 最后,我们决定重写所有在敏感文件系统中不使用的东西,因为其他选择似乎会花费太多时间。
彼得

1

编写自己的保险丝包装器,它对其他任何fs都不区分大小写吗?使用一些python代码,可以快速完成。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.