[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Aqel  
Форум » Программы » OC (Операционные системы) » Файловые Системы (Обзор ФС для носителей на ваш выбор)
Файловые Системы
AqelДата: Четверг, 09.11.2017, 15:57 | Сообщение # 1
avatar
Группа: Администраторы
Сообщений: 191
Награды: 0
Репутация: 110
Статус: Offline
Давайте разберёмся, какие есть файловые системы, и какие из них являются более или менее универсальными.

Fat32 — всем известная древняя фс, является самой универсальной в плане переносимости, но и самой убогой в плане ограничений. Была разработана давно, не поддерживает файлы размером более 4 Гб. Проприетарная. Для моих задач не подходит.

Ntfs — родная фс для винды, проприетарщина. Линукс, как я уже писал выше, её поддерживает с помощью стороннего драйвера (ntfs-3g). Мак нативно её не понимает, хотя можно доустановить соответствующее по. Есть несколько вариантов, как платных, так и бесплатных. Ни один из них мне не нравится. ntfs-3g работает в userspace (с медленной скоростью), а платные решения — платные.

Hfs+ — одна из худших фс, когда либо созданных. Родная для мак ос, но нисколько не универсальная. Можно примонтировать на линуксе, а для винды опять же есть платные решения — в пролёте.

Ext4 — одна из правильных фс, родная для линукс. Но в плане монтирования в неродных ос — опять проблемы. За платные решения для хакинтоша и для винды опять просят денег. Есть и бесплатные решения, к примеру ext2fsd, но этот драйвер не умеет писать в ext4. В пролёте.

Udf — одна из правильных фс, поддерживается нативно всеми ос. Эта фс была бы лучшим вариантом, если бы не компания apple. Изначально udf создавалась для оптических носителей, но она может быть спокойно использована на обычном жёстком магнитном диске. НО! Из-за того, что яблочники не реализовали поддержку этой фс с раздела, вся задумка отменяется. Даже последняя мак ос Х поддерживает данную фс только если всё блочное устройство не имеет таблицы разделов. На гитхабе есть скрипт format-udf, который может подготовить носитель специальным образом: в начальном блоке данных прописывается mbr, говорящий что раздел начинается прямо там же где и сам mbr. Т.е. накопитель как бы одновременно и с таблицей разделов (то что понимает винда), и вроде как и без таблицы разделов. Этот способ предполагает что носитель будет внешний, а мне нужно сделать exchange раздел именно на внутреннем накопителе. Так что данный вариант тоже в пролёте.

exFat — проприетарщина, но нативно работает как в винде, так и в маке. Это очень хорошо. Эта фс использовалась для sd карт на андроидах, а там у нас линукс ядро. Производители реализовали драйвер exfat для linux ядра и никому его не показывали. Но некто в интернете слил на гитхаб их код. Было понятно, что это воровство, и в таком виде код в ядро попасть не мог. Однако, в этом коде сообщество нашло куски gpl кода, что разумеется, требовало раскрытия всех исходников, т.е. это было уже воровство у сообщества со стороны компании samsung. Через некоторое время самсунг выпустили этот код под gpl лицензией.

Спрашивается, а почему тогда данный драйвер не поддерживается из коробки? Потому что его нет в ядре. Мердж этого кода (пусть и gpl-ного) в mainline — это по сути троян от мелких (из-за патентов). Торвальдс это понимает, и, понятное дело, ядро не отравит.

В линуксе монтировать exfat можно либо с помощью exfat-fuse драйвера, либо с помощью exfat-nofuse. Конечно, лучше nofuse, так как он будет работать быстрее. Но его придётся собирать каждый раз при обновлении ядра. Благо, для автоматизации этой задачи есть механизм dkms.


Всё намного проще, чем есть на самом деле...
 
Форум » Программы » OC (Операционные системы) » Файловые Системы (Обзор ФС для носителей на ваш выбор)
  • Страница 1 из 1
  • 1
Поиск: