LinuxForum.Fans
Тема

В ядро Linux для ФС Ext4 включена поддержка работы без учёта регистра

Автор: Rizado 19 сообщений 1164 просмотров
27.04.2019 12:49 #431629

Тед Цо (Ted Ts'o), автор файловых систем ext2/ext3/ext4, принял в ветку Linux-next, на основе которой будет сформирован выпуск ядра Linux 5.2, набор изменений, реализующих поддержку регистронезависимых операций в файловой системе Ext4. Патчи также добавляют поддержку обработки символов UTF-8 в именах файлов (для сравнения и нормализации строк, включающих символы определённые в спецификации Unicode 12.0).

Читать полностью в источнике: http://www.opennet.ru/opennews/art.shtml?num=50581

27.04.2019 13:13 #431630

УжОс
Осталось ещё добавить атрибут скрытых файлов, вместо точки вначале имени - и ффсЁ. *CRAZY*

27.04.2019 14:19 #431631

Не могу представить, для чего это может потребоваться.

27.04.2019 15:06 #431632
"DiabloPC" написал:
УжОс

Как по мне, давно пора было.

"DiabloPC" написал:
атрибут скрытых файлов, вместо точки вначале имени

Кстати, есть плюсы и минусы. С одной стороны, отработанная и проверенная система. С другой, если файл сделать скрытым, меняется его имя − где логика?

"caspar" написал:
Не могу представить, для чего это может потребоваться.

Новичкам порой сложно понять, почему filename.ext, Filename.ext и FileName.Ext − разные файлы. Я уже не считаю, сколько раз объяснял эти вещи.
А так проще будет.

27.04.2019 15:24 #431633
"Rizado" написал:
проще будет

Не будет. Достаточно вспомнить, с чем пришлось столкнуться другим регистронезависимым ФС.
Придётся дополнительно научиться объяснять ошибки, связанные с переводом в другой регистр. Придётся прикрываться новой отмазкой: "нет в Unicode 12.0 -- значит и в дикой природе не встречается".

27.04.2019 15:33 #431634

Радует хоть вот это:

По умолчанию, за исключением каталогов с атрибутом "+F" , ФС продолжает быть регистрозависимой.
27.04.2019 15:44 #431635
"bormant" написал:
Достаточно вспомнить, с чем пришлось столкнуться другим регистронезависимым ФС.

Можно примеры? У самого как-то проблем не было, описания не попадались.
А ещё расскажите отдельным народам, у которых нет заглавных букв, что такое регистрозависимая файловая система.

27.04.2019 17:42 · отредактировано #431636

"Rizado" написал:
А ещё расскажите отдельным народам, у которых нет заглавных букв, что такое регистрозависимая файловая система.
А им-то зачем про это? Для них регистрозависимость как раз и норма: отдельная буква -- отдельный символ.

"Rizado" написал:
Можно примеры? У самого как-то проблем не было, описания не попадались.
HFS+ с ее нормализацией символов.
Есть символы, которые могут быть представлены разными наборами код-поинтов, например, как один символ или как базовый символ плюс диакритический знак.
text

FILE *f;
fopen("йож","w+"); fclose(f);
fopen("йож","r"); // file not found

Наборы заглавных и строчных могут различаться. Если регистрозависимая ФС хранит имя "как есть", без каких-либо преобразований, то для регистронезависимой получаем шанс необратимого отображения из одного в другое. Лишняя точка отказа.

Плюс, в зависимости от реализации, возможно пенальти по производительности поисков по имени: перевести запрошенное в универсальный регистр (верхний или нижний), перевести каждое сопоставляемое имя в универсальный регистр перед сравнением либо (скорее всего) дополнительно хранить индекс каталога в универсальном регистре.

27.04.2019 20:14 · отредактировано #431637
"Rizado" написал:
Новичкам порой сложно понять, почему filename.ext, Filename.ext и FileName.Ext − разные файлы. Я уже не считаю, сколько раз объяснял эти вещи.

А можно есче раз, для представителей общества жирафов :D

27.04.2019 20:26 #431638
"lone_wolf" написал:
А можно есче раз, для представителей общества жирафов

После того, как поменяю «lone_wolf» → «lone_troll».

27.04.2019 20:28 #431639
"lone_wolf" написал:
есче раз, для представителей общества жирафов

Хитрые жирафы несомненно намекают на то, что если у файлов одинаковый inode, то это точно один и тот же файл ;-)

28.04.2019 07:35 #431642
"Rizado" написал:
Как по мне, давно пора было.

Нафиг не нужно. Это же полная кастрация каталогов. Особенно для рукожопых новичков.

"Rizado" написал:
А так проще будет.

Если задача похерить данные, то - да!

"Rizado" написал:
А ещё расскажите отдельным народам, у которых нет заглавных букв, что такое регистрозависимая файловая система.

ОС поддерживает грузинство на должном уровне. Они сами толком не могут разобрать свои закорючки и предпочитают
русский алфавит. Как и армяне.

30.04.2019 12:36 #431645
caspar написал:
Не могу представить, для чего это может потребоваться.

Для миграции с винды конечно же.

30.04.2019 15:14 #431646
"Vascom" написал:
Для миграции с винды конечно же.

Свежо предание, да верится с трудом :) В свое время я был удивлен тем, что там filename.ext, FILENAME.EXT и FileName.Ext -- один и тот же файл, мне больше по душе регистрозависимые имена, хотя и не сталкивался с ситуациями, где это сыграло бы роль. Что ж, в будущем придется принудительно включать регистрозависимость...

02.05.2019 10:32 #431657
"Vascom" написал:
Для миграции с винды конечно же.

Вместо помощи в миграции это приведет к вывиху головного мозга.

02.05.2019 14:04 #431658
"caspar" написал:
Вместо помощи в миграции это приведет к вывиху головного мозга.

Можно обосновать?

02.05.2019 19:50 #431663

По сложившейся традиции названия файлов в Linux и Unix регистрозависимые.
Не надо ничего менять!

03.05.2019 06:26 #431664
"Rizado" написал:
Можно обосновать?

Можно. Сейчас поведение каталогов на линуксовых разделах вполне однозначное.
После нововведения их поведение зависит от параметра "+F", который никак не индицируется. И их поведение можно определить только методом тыка. И попробуйте объяснить такую ситуацию новичку, только что перешедшему с винды. Его реакцию попрошу в студию. и Вашу оценку "упрощения перехода с винды".

07.05.2019 09:28 #431716
caspar написал:
[quote="Vascom"]Для миграции с винды конечно же.

Вместо помощи в миграции это приведет к вывиху головного мозга.[/quote]
В винде же не приводит.

Войдите или зарегистрируйтесь, чтобы ответить.