有什么方法可以使 Linux 文件系统 case-INSENSITIVE ?
我在 Windows 上开发了 asp.net 应用程序,但是在将它放在 Linux 上时,mono 上的大小写/拼写总是存在问题。
一种方法是将 localhost SMB 共享挂载到 /var/www。还有其他人吗?
有什么方法可以使 Linux 文件系统 case-INSENSITIVE ?
我在 Windows 上开发了 asp.net 应用程序,但是在将它放在 Linux 上时,mono 上的大小写/拼写总是存在问题。
一种方法是将 localhost SMB 共享挂载到 /var/www。还有其他人吗?
有一个不区分大小写的 ext3 驱动程序,但坦率地说,在生产中运行这样的东西会让我有点害怕,因为您正在使用修补驱动程序滚动自己的自定义内核。(是的,是的——我们一直在“过去”这样做,但那是,就像,1997 年......)
有一个 FUSE 实现,ciopfs,它也实现了不区分大小写。对我来说,在生产环境中使用它比打补丁的内核要少得多。
/var/www
您还可以对文件夹层次结构使用不区分大小写的文件系统,例如 VFAT 。在这种情况下,我会使用环回挂载,这样您就不必弄乱您的磁盘分区。如果您只在 Mono 下运行的应用程序中谈论不区分大小写,您可以使用
IOMAP
环境变量告诉 Mono 像 Windows 一样忽略大小写。在此处查看其使用的详细信息:http ://www.mono-project.com/IOMap
死灵术。
回答我自己的问题。
这确实是可能的。
变体 1:
创建一个大小为 X-MB 的 .dsk 文件(使用 dd),然后在该文件上创建一个 JSF 文件系统,使用选项 O(OS2 兼容性 - = 不区分大小写)
然后将该文件循环挂载到所需的文件夹中.
变体 2:
当您安装操作系统时,手动对磁盘进行分区,并创建另一个 JFS 格式的分区,您可以将其挂载到您想要的任何位置。
当一切都启动并运行时,您可以重新格式化该分区(警告 - 这将删除该分区上的所有数据 - 确保您选择了正确的分区,并且还没有任何数据):
卸载挂载的分区
重新格式化:
重新挂载分区
现在运行
你得到新的分区uuid。
现在转到 /etc/fstab,将 /dev/hda5 的旧 uuid 替换为新的。
如果您做错了,另请参阅
欢迎使用紧急启动模式...
@Quandary我尝试采用JFS方式,使用 -O 选项制作 img 。但对我来说,它仍然给出错误。例如我得到:
该 aspx 文件实际上名为
LogOn.aspx
. 它确实解决了一些问题,但我仍然遇到错误。不幸的是我还在 18.04 所以不能尝试 ext4 方式。您可以使用以下方法使 ZFS 数据集不区分大小写:
此外,您还可以获得 ZFS 的所有常见好处,例如纠错、压缩、快照、基于快照的
zrs send
备份,这些备份比rsync
.我还没有在实际的服务器上使用它(因为我不在服务器上运行 Windows 软件),但我确实在家庭系统上使用它作为 Steam 游戏库(我有不同的数据集用于 Linux 原生游戏和 Windows 游戏,可以与 Proton 一起运行) /WINE - Windows 数据集不区分大小写,因为 Windows 开发人员对文件/目录名称的大写/小写很草率)。