Linux: нестабильная файловая система

Какие существуют методы, чтобы сделать файловую систему Linux безразличной?

У меня есть приложения asp.net, разработанные для Windows, но всегда есть проблемы с использованием заглавных букв / орфографии в моно при их установке в Linux.

Один из способов - смонтировать локальный общий ресурс SMB в /var/www. Есть ли другие?

6 ответов

Решение

Necromancing.
Отвечая на мой собственный вопрос.
Это действительно возможно.
Вариант 1:
Создайте.dsk-файл размером X-MB (с dd), затем создайте JSF-файловую систему для этого файла с параметром O (совместимость с OS2 - = без учета регистра)
Затем смонтируйте этот файл в нужную папку.

(apt-get install jfsutils)
dd if=/dev/zero of=jfs.dsk bs=1048576 count=150
mkfs.jfs -O jfs.dsk
mkdir -p /mnt/jfs
mount /volumes/jfs.dsk /mnt/jfs -t jfs -o loop
umount /mnt/jfs/

Вариант 2:
При установке ОС вручную разбейте диск на разделы и создайте еще один раздел с форматом JFS, который вы монтируете в любое место, где хотите его иметь.
Когда все запущено и работает, вы можете переформатировать этот раздел с помощью (предупреждение - это удалит все данные в этом разделе - убедитесь, что вы выбрали правильный и у вас еще нет данных):

размонтировать смонтированный раздел

umount /web

переформатировать:

mkfs.jfs -O /dev/hda5

перемонтировать раздел

mount /dev/hda5 /web

Теперь беги

blkid

и вы получите новый раздел-UUID.
Теперь перейдите в /etc/fstab и замените старый uuid для /dev/hda5 новым.

Если вы делаете это неправильно, см. Также
Добро пожаловать в режим экстренной загрузки...

Если вы говорите только о нечувствительности к регистру в приложениях, работающих под Mono, вы можете использовать IOMAP переменная окружения, чтобы сказать моно игнорировать регистр, как это делает Windows.

Подробности о его использовании смотрите здесь: http://www.mono-project.com/IOMap

Есть нечувствительный к регистру драйвер ext3, но, честно говоря, запуск такого продукта в производственном процессе меня немного напугает, так как вы запускаете собственное ядро ​​с исправленными драйверами. (Да, да... мы делали это все время "назад в день", но это было, как, например, 1997...)

Существует реализация FUSE, ciopfs, которая также реализует нечувствительность к регистру. Это было бы намного менее страшно для меня использовать в производстве, чем исправленное ядро.

Вы также можете использовать нечувствительную к регистру файловую систему, такую ​​как VFAT, для /var/www иерархия папок. В этом случае я бы использовал петлевое монтирование, чтобы вам не пришлось возиться с разбиением диска.

Вы можете создать файловую систему XFS с помощьюversion=ciкоторый:

позволяет выполнять поиск по имени файла и каталогам версии 2 только в формате ASCII без учета регистра. В именах файлов сохраняется регистр, то есть имена сохраняются в каталогах в том регистре, в котором они были созданы.

      # truncate --size=1G /tmp/test-xfs.img
# mkfs -t xfs -n version=ci /tmp/test-xfs.img
meta-data=/tmp/test-xfs.img      isize=512    agcount=4, agsize=65536 blks
…
naming   =version 2              bsize=4096   ascii-ci=1, ftype=1
…
# mkdir /tmp/test-xfs
# mount -o loop /tmp/test-xfs.img /tmp/test-xfs
# touch /tmp/test-xfs/aBc
# ls /tmp/test-xfs
aBc
# ls /tmp/test-xfs/abc /tmp/test-xfs/AbC
/tmp/test-xfs/abc  /tmp/test-xfs/AbC
# umount /tmp/test-xfs
# rm /tmp/test-xfs.img

@Quandary Я попробовал пойти по пути JFS, создав img с опцией -O. Но для меня все равно выдает ошибки. Например, я получаю:

System.InvalidOperationException
The view 'Logon' or its master was not found. The following locations were searched:
~/Views/Account/Logon.aspx
~/Views/Account/Logon.ascx
~/Views/Shared/Logon.aspx
~/Views/Shared/Logon.ascx

Файл aspx на самом деле называется LogOn.aspx. Это помогло решить несколько проблем, но я все равно получаю ошибки. К сожалению, я все еще нахожусь на 18.04, поэтому не могу попробовать способ ext4.

Вы можете сделать набор данных ZFS нечувствительным к регистру, установив параметрcasesensitivityсвойство:

      zfs set casesensitivity=insensitive pool/dataset

Кроме того, вы получаете все обычные преимущества ZFS, такие как исправление ошибок, сжатие, моментальные снимки,zfs sendрезервное копирование, которое на несколько порядков быстрее, чемrsync, и т. д.

Мне еще предстоит использовать это на реальном сервере (потому что я не запускаю программное обеспечение Windows на серверах), но я использую его в домашних системах для игровых библиотек Steam (у меня есть разные наборы данных для собственных игр Linux и игр Windows для запуска с Proton/WINE — наборы данных Windows нечувствительны к регистру, поскольку разработчики Windows небрежно относятся к верхнему/нижнему регистру в именах файлов/каталогов).

Другие вопросы по тегам