web-dev-qa-db-fra.com

Système de fichiers compatible avec tous les OS?

J'utilise régulièrement Linux et Mac OS X, et parfois je dois utiliser Windows. J'ai besoin d'utiliser un lecteur flash sur les trois, et j'ai besoin d'un système de fichiers qui fonctionnera bien sur chacun d'eux. Aucun des travaux de l'extension sur Mac ou Windows, HFS + ne fonctionne pas sur Windows (ou bien sur Linux), NTFS est en lecture seule sur Mac et FAT est nul sur tous les systèmes d'exploitation. Existe-t-il un système de fichiers qui fonctionnerait raisonnablement bien sur tous les systèmes d'exploitation? Je voudrais qu'il fonctionne sans pilotes ni installations supplémentaires, afin qu'il puisse être utilisé sur n'importe quel ordinateur.

48
tkbx

UDF est un candidat. Il fonctionne prêt à l'emploi sur linux> = 2.6.31, Windows> = Vista, MacOS> = 9 et sur de nombreux BSD.

Remarque: UDF est disponible en différentes versions, qui ne sont pas également prises en charge sur toutes les plateformes, voir Wikipedia - Compatibilité .

UDF peut être créé sur Linux avec l'outil mkudffs du package udftools.

31
Marco

Sans problèmes, utilisez FAT32. Il n'y a pas d'autre possibilité compatible. Linux depuis la version 2.6.xy n'a plus de problèmes avec NTFS, mais Mac OS le fait ... Peut-être que vous pourriez faire plus de partitions sur votre flash, mais ce n'est vraiment pas une excellente solution.

Autre solution: essayez d'imaginer que vous avez une mémoire flash de 4 Go. Divisez-le en 2 partitions. 1) FAT32 avec des applications portables gratuites pour accéder à tous les autres types FS. 2) Partition universelle, qui peut être ce que vous voulez - NTFS, ReiserFS (si vous voulez une sécurité et un cryptage réels) ou autre. Grâce à la première partition de votre mémoire flash, vous pouvez facilement lire/écrire à partir de n'importe quel système d'exploitation, en raison des programmes que vous avez stockés sur votre partition FAT32 de votre mémoire flash.

Meilleure solution: Oubliez l'utilisation d'une clé USB. Utilisez Dropbox ou quelque chose via le réseau. Ils sont l'un des moyens les plus simples de partager des fichiers entre des machines.

edit: Merci pour la correction: permettez-moi d'écrire un des commentaires ici: "la taille maximale dépend de la taille de cluster sélectionnée. Les limites sont vraiment de 2 To à 16 To pour les tailles de cluster 512B à 4KB pour FAT32 (également mentionnées sur la page Web). " C'est vrai, excusez mon erreur.

Merci peterph

15
MIrra

Puisque vous l'avez coupé aux systèmes de fichiers pris en charge par OS X et Windows, je crains que le dénominateur le moins commun soit FAT32. exFAT pourrait être une option si vous pouvez assouplir l'exigence et accepter d'utiliser Fuse - il est encombré de brevets et ne va donc pas arriver au noyau avant 2029 ou jusqu'à ce que Microsoft accorde le brevet sur les redevances- base gratuite, selon la première éventualité.

11
peterph

Je suggère exFAT . Voici pourquoi:

  • Il fonctionne en RW partout (contrairement à NTFS, qui est pris en charge en lecture seule sur Mac OSX), il est inclus dans Windows depuis Windows XP et dans Mac OSX depuis Mac OS X 10.6 (Snow Leopard), et afaik toutes les distributions GNU/Linux incluent des packages pour cela dans les dépôts par défaut.
    Même Android, appareils iOS (iPhones et iPads) et certains téléviseurs intelligents le prennent en charge à partir de l'année 2017.
  • Il ne prend pas en charge les autorisations et la propriété des fichiers (contrairement à ext2/3/4, NTFS et HFS +), et c'est une bonne chose, car ils peuvent être très ennuyeux sur un lecteur flash que vous connectez souvent à plusieurs ordinateurs différents.
  • Il prend en charge les gros disques et les gros systèmes de fichiers sans gaspiller d'espace, et prend en charge les fichiers de plus de 4 Go (contrairement à FAT32). Il prend en charge presque tous les caractères unicode dans les noms de fichiers et de répertoires (contrairement à FAT32
  • C'est assez simple pour être rapide (contrairement à NTFS) et fiable (contrairement à FAT32).
  • Avec les cartes SDXC, exFAT est devenu la norme pour les cartes SD et micro SD avec un stockage supérieur à 32 Go, on peut donc s'attendre à ce qu'il soit pris en charge par les appareils photo, caméscopes, smartphones et consoles de jeux les plus récents. Donc, même si vous ne pensez pas en avoir besoin, vous disposez peut-être déjà d'un ou de plusieurs appareils qui l'utilisent ou sont prêts pour cela.

Malheureusement, les brevets sur exFAT empêchent de l'inclure dans le noyau Linux principal, vous devez donc installer manuellement une implémentation d'exFAT pour l'ajouter dans votre système . Quoi qu'il en soit, une fois que vous l'installez, le système pourra le monter ou le démonter en utilisant des mécanismes normaux.

La plupart des distributions fournissent des packages pour installer une implémentation Fuse qui fonctionne correctement et sans problème. Je l'ai utilisé pour les lecteurs flash, les cartes SD et les disques USB externes, et j'en suis satisfait.

Je m'attendrais à ce qu'un système de fichiers Fuse soit plus lent qu'un système natif, mais le plus souvent le goulot d'étranglement est dans le matériel, pas dans le système de fichiers (souvent les lecteurs flash eux-mêmes sont plus lents que les pilotes du système de fichiers), donc pour "normal" l'utiliser ne sera pas du tout un problème.

Pour utiliser exFAT sur Ubuntu et Debian, il vous suffit d'installer le exfat-Fuse et exfat-utils paquets:

Sudo apt-get install exfat-Fuse exfat-utils
5
gerlos