Я не могу найти ответ на этот вопрос на StackExchange. У меня есть телефон с бета-версией LineageOS 14.1 (Android 7.1) и карта SDXC на 128 ГБ, которую я хочу использовать в качестве переносного/общего хранилища между устройствами.
Я знаю, что встроенная функция «Настройки» -> «Хранилище» -> «Форматировать SD-карту» выбирает файловую систему по умолчанию (FAT32 с большими кластерами или exFAT?), но если бы я захотел, мог бы я вручную отформатировать карту через Терминал, чтобы использовать правильное ведение журнала файловая система для лучшей безопасности данных?
Если да, то какие файловые системы я могу использовать и каковы будут соответствующие команды? Будут ли другие преимущества или недостатки? Будет ли он по-прежнему переносимым или мне придется что-то делать, чтобы остановить настройку ACL/разрешений по умолчанию, что предотвратило бы его замену на другие устройства?
Обновлять
Что касается комментариев ниже, похоже, что больше контекста поможет.
Я не рассматриваю NTFS/apple NFS как другие файловые системы. Моими основными «другими устройствами» для портативности будут другие устройства Android 5.1+ и Windows 8.1/10 (через USB-адаптер microSD). Меня устраивает, что Windows потребуется драйвер ext2/3/4/другой или размещение виртуальной машины Linux для чтения или записи карты microSD, которая не имеет формата FAT*. (Мне гораздо удобнее добавлять обработку ext* на машину с Windows, чем добавлять возможности NTFS на Android, и это также проще и с меньшей вероятностью вызовет у меня проблемы, потому что Windows потребуется доступ к нему только для управления/копирования файлов, а не через несколько приложений разных поколений на Android)
Суть вопроса заключается в том, что портативное хранилище по умолчанию использует FAT32/exFAT, не предлагая альтернатив, и в них нет каких-либо особых положений о целостности данных, таких как ведение журнала, которые были бы неотъемлемой частью (и включены) в несколько других файловых систем.
Поэтому возникает естественный вопрос, могу ли я, используя файловую систему, отличную от используемой по умолчанию, - что, конечно, потребует ручного форматирования и, возможно, ручной настройки разрешений, - получить эффект универсальной возможности чтения/записи и переносимости (как с FAT*), но Кроме того , вы получаете повышенную целостность за счет ведения журнала в случае сбоя или другой проблемы с данными, чего не обеспечивает FAT*.
Если требуется журналирование, то семейство EXT (предпочтительно ext4) может быть вашим единственным выбором. В остальном exFAT лучше. К вашему сведению, безопасность данных больше зависит от вашего оборудования, а не от программного обеспечения (при условии отсутствия вредоносного ПО), включая файловые системы. Любая ФС на плохом диске выходит из строя, и любая ФС на хорошем диске мало что меняет.
Определенно уверен, что если вы отформатируете его в ext4, вам придется часто chmod -R 777
и chown -R 0.1028
(что на самом деле root:sdcard_r
), чтобы приложения работали нормально. Различные приложения имеют разные UID и GID, и при создании файла группы владельцев устанавливаются как U&G приложения, а разрешения устанавливаются в соответствии с umask эффективного потока .
Другое замечание заключается в том, что Linux ACL не поддерживается Android, тогда какSELinux есть, что может вызвать.
Семейство FAT лучше тем, что не имеет поддержки разрешений, что предотвращает возникновение «хаоса разрешений». exFAT — это мое личное предпочтение для общих хранилищ. Нет необходимости в регулярном обслуживании.
Поскольку вы спрашиваете здесь, в сообществе Android, я не буду обсуждать NTFS и Apple HFS, поскольку они вряд ли могут быть распознаны обычным устройством Android. Конечно, вы можете добавить их поддержку самостоятельно, но в основном это забота разработчиков.
Стандартный Android поддерживает только установку дисков FAT32 в качестве переносного хранилища, если они установлены в масштабе всей системы (r/w). Поддерживаемые разделы могут различаться в зависимости от устройства. Это зависит от производителя / индивидуального производителя ПЗУ для предоставления драйверов системного уровня для томов разных форматов.
Поскольку вы используете ОС Lineage (вилка cm), она может быть предоставлена. А в случае, если это не так, его можно легко настроить (рекомендуется способ busybox). Мне бы не хотелось использовать журналирование, файловые системы, ориентированные на разрешения.
Что касается внешнего SD, я сосредотачиваюсь на случайных удалениях в основном на моих носителях и документах, поэтому TestDisk (бесплатная утилита командной строки) с легкостью работает для «Восстановления файлов» из старого дерева индексов. Очень полезный.
Что касается разделов, то для простоты я предпочитаю иметь следующие разделы и настраивать их на всех своих съемных дисках.
FAT32 (~ 75% размера) (можно установить на все - настольный компьютер, телефон, планшет, смарт-телевизор, маршрутизатор, NAS)
и exFAT (~ 25%) (на внешних жестких дисках я использую TrueCrypt для шифрования этого тома) (большие файлы — монтируются на ПК (Win/Lin/Mac) и Android (по крайней мере, в ES File Explorer (приложение, поддерживающее exfat) и на моем Sony AndroidTV (драйвера предоставляются производителем)) и рутированный Nexus 7 поддерживает его)
Вы можете разрешить Android создавать раздел в качестве принятого хранилища в зависимости от потребностей. См. эту ссылку для смешанных форматов разделов при использовании адаптированного хранилища (Semi-Adopted storage).
Приложения могут запрашивать доступ к хранилищу и монтировать внешние диски в своем собственном контексте (точка монтирования не используется другими приложениями). Существуют приложения, поддерживающие ExFat, NTFS, AFS, HFS+ и даже зашифрованные разделы с помощью truecrypt/bitlocker. Все это подходит для внешних подключений, так как SD-карта должна быть подключена почти всегда и доступна поперек.
Гримуар
Стайлз
iBug
Гримуар
iBug
Гримуар
Стайлз
iBug
Стайлз