Как проверить, что все пути / файлы на томе соответствуют 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 |
- Можно подняться до 8 ТБ с кластерами размером 64 КБ.
- FAT32 самостоятельно поддерживает 11-символьные имена файлов (8.3), используя ASCII, с поддержкой длинных имен файлов он увеличен до 255 символов UTF-16. Исключенные символы ASCII:
" * / : < > ? \\ |
- Пока нет ограничений на количество подкаталогов - у вас есть ограничение пути в 260 символов. (Это был предел в Windows 95/98 - 4096 для Linux)
- Как и в FAT32, нет ограничений на подкаталоги, но у вас есть ограничение пути 32767.
- EiB = exbibyte = 2 ^ 60 байт. 1 exbibyte = 1024 петабайта. 1 петабайт = 1024 терабайта.
- NTFS имеет тот же набор символов, что и FAT 32 (
" * / : < > ? \\ |
) - Максимальные пределы зависят от размера блока.
Для получения дополнительной информации хорошим начальным блоком является Сравнение файловых систем в Википедии, но некоторые детали довольно расплывчаты.
Я не знаю ни одной такой утилиты, но на ум приходит то, что у вас может быть набор виртуальных машин, на которых вы можете протестировать большинство этих файловых систем с помощью скрипта.
Просто используйте скрипт для копирования набора файлов примеров в каждый раздел и посмотрите, не выдаст ли он ошибку.