Как проверить, что все пути / файлы на томе соответствуют EXT3, FAT32 и HFS+

У меня есть том с файлами на нем, который нужно будет скопировать между компьютерами Mac, Linux и Windows. Я хочу убедиться, что нет никаких сюрпризов с:

  • размер файла
  • длина имени файла
  • набор символов имени файла
  • количество вложенных каталогов

Правильно ли я предположить, что все (в приведенном выше списке), что является законным в FAT32, будет также законным в NTFS, EXT3 и HFS+?

Если нет, есть ли скрипт / утилита, которую я могу запустить, без фактического копирования файлов на все эти типы томов, которая выведет список потенциальных проблем?

2 ответа

Решение

Вы правы - FAT32 и его ограничения (связанные с размером файла и количеством символов) будут вашим самым большим ограничением.

Для справки (чтобы информация была в одном месте):

| TYPE  | FILE SIZE | FILENAME | CHARACTER SET  | DIRECTORY | VOLUME SIZE |
| FAT32 | ~4GB      | 11/255(2)|ASCII/Unicode(2)| No (3)    | 2TB (1)     |
| NTFS  | ~16 EiB(5)| 255      | Unicode(6)     | No (4)    | 16 EiB      |
| EXT3  | 16GB/2TB  | 255      | Unicode        | No        | 16GB/32TB(7)|
| HFS+  | ~8 EiB    | 255      | Unicode        | Unlimited | ~8 EiB      |
| ZFS   | 16 EiB    | 255      | Unicode        | Unlimited | 16 EiB      | 
  1. Можно подняться до 8 ТБ с кластерами размером 64 КБ.
  2. FAT32 самостоятельно поддерживает 11-символьные имена файлов (8.3), используя ASCII, с поддержкой длинных имен файлов он увеличен до 255 символов UTF-16. Исключенные символы ASCII: " * / : < > ? \\ |
  3. Пока нет ограничений на количество подкаталогов - у вас есть ограничение пути в 260 символов. (Это был предел в Windows 95/98 - 4096 для Linux)
  4. Как и в FAT32, нет ограничений на подкаталоги, но у вас есть ограничение пути 32767.
  5. EiB = exbibyte = 2 ^ 60 байт. 1 exbibyte = 1024 петабайта. 1 петабайт = 1024 терабайта.
  6. NTFS имеет тот же набор символов, что и FAT 32 (" * / : < > ? \\ |)
  7. Максимальные пределы зависят от размера блока.

Для получения дополнительной информации хорошим начальным блоком является Сравнение файловых систем в Википедии, но некоторые детали довольно расплывчаты.

Я не знаю ни одной такой утилиты, но на ум приходит то, что у вас может быть набор виртуальных машин, на которых вы можете протестировать большинство этих файловых систем с помощью скрипта.

Просто используйте скрипт для копирования набора файлов примеров в каждый раздел и посмотрите, не выдаст ли он ошибку.

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