What methods are there to make the Linux filesystem case-INSENSITIVE ?
I have asp.net applications developed on Windows, but there are always issues with capitalization/spelling on mono when putting it on Linux.
One way is to mount a localhost SMB share to /var/www. Are there any others ?
There's a case insensitive ext3 driver, but, frankly, running such a thing in production would scare me a bit, since you're rolling your own custom kernel with patched-in drivers. (Yeah, yeah-- we did that all the time "back in the day", but that was, like, 1997...)
There's a FUSE implementation, ciopfs, that implements case insensitivity as well. That would be a lot less scary to me to use in production than a patched kernel.
You could also use a case-insensitive filesystem, like VFAT, for the
/var/www
folder hierarchy. I'd use a loopback mount in that case, such that you don't have to mess with your disk partitioning.If you're talking about case insensitivity ONLY within apps running under Mono, you can use the
IOMAP
environment variable to tell mono to ignore case just like Windows does.See the details on its use here: http://www.mono-project.com/IOMap
Necromancing.
Answering my own question.
This is indeed possible.
Variant 1:
Create a .dsk-file of size X-MB (with dd), then make a JSF-filesystem on that file, with option O (OS2 compatibility - = case insensitive)
Then loop-mount that file into a desired folder.
Variant 2:
When you install the OS, manually partition the disk, and create another partition with format JFS, which you mount to wherever you want to have it.
When everything is up and running, you can reformat that partition with (warning - this will erase all data on that partition - make sure you selected the proper one, and don't have any data on it, yet):
unmount the mounted partition
reformat:
remount the partition
Now run
and you get the new partition-uuid.
Now go to /etc/fstab, and replace the old uuid for /dev/hda5 with the new one.
If you're doing this wrong, see also
Welcome to emergency boot mode...
@Quandary I tried going the JFS way, making a img with -O option. But for me it still gives errors. For example I get:
The aspx file is actually named
LogOn.aspx
. It did solve a few issues, but I still get errors. Unfortunately I am still on 18.04 so can't try the ext4 way.You can make a ZFS dataset case-insensitive with:
Plus you get all the usual benefits of ZFS, like error-correction, compression, snapshots, snapshot-based
zrs send
backups that are several orders of magnitude faster thanrsync
, etc.I have yet to use this on an actual server (because I don't run Windows software on servers) but I do use it on home systems for Steam game libraries (I have different datasets for Linux native games and Windows games to run with Proton/WINE - the Windows datasets are case-insensitive because Windows devs are sloppy about upper/lower case in file/dir names).