Quel type de FileSystem recommandez-vous pour une clé USB?

18

C'est un problème que je rencontre lorsque j'utilise Ubuntu: j'ai deux ordinateurs sur lesquels Ubuntu est installé (comp1 et comp2). Je crée un document avec Ubuntu sur comp1, puis je copie le fichier sur une clé USB au format FAT. Via le lecteur flash, je colle le document sur comp2. Le problème est que les permissions sur les fichiers ne sont jamais conservées pendant le transfert. Je suppose que le FAT ne prend pas en charge les autorisations.

Y a-t-il une solution à cela? Dois-je continuer à utiliser le système de fichiers FAT pour les lecteurs flash USB (car FAT est le meilleur pour les lecteurs flash) et vivre avec ce problème d'autorisations? Ou est-il recommandé de reformater mon lecteur flash avec un système de fichiers plus "Ubuntu Friendly" qui préservera les autorisations?

Greg
la source

Réponses:

11

ext4 est un système de fichiers de journalisation, ce qui signifie que si le périphérique est débranché prématurément, il a plus de chances de récupérer le système de fichiers endommagé. La partie journal de l'écriture contient des informations sur ce qui est sur le point d'être fait et elle est effacée une fois l'opération terminée. S'il s'avère qu'il existe un journal incomplet sur un périphérique lors de son montage, le système de fichiers peut revenir à son état précédent, préservant ainsi son intégrité.

Bien qu'il y ait un surcoût supplémentaire en termes d'espace requis pour avoir un système de fichiers de journalisation sur une clé USB, c'est en fait un bon choix pour la plupart des choses.

De toute évidence, si vous avez besoin d'un appareil qui peut également se connecter à n'importe quel ordinateur à tout moment, FAT serait la solution. Si vous souhaitez qu'un périphérique qui ne doit être connecté à un ordinateur Windows que de façon occasionnelle, il est possible d'installer des pilotes de périphérique ext2 dans Windows qui lui permettront de lire tous les lecteurs ext (x). Bien sûr, puisque Windows ne connaît pas les autorisations et la propriété de Linux, celles-ci ne seront pas traitées également.

fabricant4
la source
Je n'aurais pas pu dire mieux. +1
Luis Alvarado
Le pilote Ext2 pour Windows devrait également pouvoir lire les systèmes de fichiers Ext4 - il ignorera simplement le journal.
Nathan Osman
8

Vous pouvez essayer de formater votre disque en UDF (Universal Disk Format). Il s'agit du format à utiliser sur les CD et DVD. La plupart des systèmes d'exploitation modernes pourront y lire et écrire.

En ce moment, en regardant mes données sur un lecteur au format UDF, les autorisations de fichiers Linux semblent être préservées. Jusqu'à présent, cela a fonctionné pour moi.

Une autre bonne chose au sujet du lecteur au format UDF est qu'il peut stocker un seul gros fichier jusqu'à 16 exaoctets (corrigez-moi si je me trompe.), Tandis que Fat32 ne peut stocker qu'un fichier de taille 4 Go ou moins et la taille de partition MAX pour FAT32 est seulement 2 To.

Cela fonctionne bien sur Win7 et 8. Pour les anciens systèmes d'exploitation Windows comme XP et 2000, vous pouvez lire à partir du lecteur, mais vous devez installer une sorte de pilote pour y écrire.

Pour Mac, OS X 10.5 et supérieur a une compatibilité totale. Voici un tableau de compatibilité complet. Tableau de compatibilité UDF

Sur Ubuntu, suivez ces étapes pour formater un lecteur en UDF.

sudo apt-get update
sudo apt-get install udftools

Bon, maintenant vous voulez supprimer les partitions actuelles dans le lecteur cible. Vous pouvez soit utiliser un outil graphique comme l' Utilitaire de disque , soit effectuer les opérations suivantes.

sudo blkid

Trouvez votre lecteur dans la sortie. (ils ressemblent à / dev / sdb ou / dev / sdc ) Procédez maintenant comme suit, mais remplacez le ' x ' dans / dev / sdx pour pointer vers le lecteur sur lequel vous souhaitez effacer sa partition. Faites cela pour les deux lignes de code.

sudo dd if=/dev/zero of=/dev/sdx bs=1M count=1
sudo mkudffs -b 512 --media-type=hd --utf8 --lvid=DriveLabel --vid=DriveLabel --fsid=DriveLabel  /dev/sdx

Vous pouvez modifier l'endroit où il est écrit «DriveLabel» à votre convenance.

Ça devrait être ça.

En fait, je fais cela légèrement différemment, mais j'ai décidé que cette méthode était plus facile à suivre. J'ai référencé cette méthode sur ce site .

J'espère que cela aide quelqu'un là-bas.

Digital Sennin
la source
ne fonctionne pas pour moi: erreur lors du montage du lecteur USB
Louis
1
Merci, approche très intéressante.Fonctionne parfaitement pour les OS de bureau (testé pour Ubuntu 15.10+, Windows 7+), mais pas pour les mobiles (ne fonctionne certainement pas pour Android jusqu'à 8.x). Je m'attends à un impact d'écriture beaucoup moins important sur le lecteur flash que sur le système de fichiers journalisé. Voici un one-liner pour cela:CreateUdfFlash(){ sudo wipefs "$1" ; sudo mkudffs --utf8 -b 512 --media-type=hdd --lvid="$2" --vid="$2" --fsid="$2" "$1" ; } ; CreateUdfFlash "/dev/sdX" "Some Disk Label"
dess
7

Lorsque vous utilisez un système de fichiers qui préserve les ID utilisateur sur un lecteur USB, vous pouvez rencontrer des problèmes dus au fait que les ID utilisateur sont attribués dans l'ordre de création des comptes utilisateurs, et le système de fichiers stocke en fait les ID numériques des propriétaires de fichiers, pas les noms d'utilisateur. Donc, si, disons, la machine A a aliceet les bobcomptes, et la machine B a bruce, zoeet les alicecomptes, il est probable que lorsque Alice copie ses fichiers sur un lecteur USB au format ext (2/3/4), marche vers la machine B et essaie d'accéder les fichiers, elle découvrira que les fichiers appartiennent tous bruceet sont en lecture seule pour alice.

Bien sûr, si vous n'avez qu'un seul utilisateur sur les deux machines, ce ne sera pas un problème.

Le transfert de fichiers compressés dans une tararchive, comme proposé par @FSMaxB, peut résoudre ce problème, car lorsque vous décompressez une archive, les fichiers sont créés et appartiennent à votre ID utilisateur.

Sergey
la source
0

Si vous utilisez votre lecteur flash uniquement avec des systèmes Linux, vous pouvez utiliser l'un des systèmes de fichiers ext, par exemple ext4, mais lors de l'utilisation avec d'autres systèmes, FAT est le seul système de fichiers compatible.

Une façon d'utiliser FAT et de préserver les autorisations (et non la propriété) serait d'utiliser tar-Archives!

FSMaxB
la source
1
décompresser une archive tar comme rootpréserve la propriété des fichiers, donc les archives elles-mêmes stockent les ID utilisateur. Cependant, faire cela sur des machines différentes n'est pas vraiment recommandé car les ID utilisateur peuvent différer.
Sergey
Merci. Je pense que je vais essayer la solution TAR pour l'instant. Question: existe-t-il un moyen de créer le TAR et de le faire créer sur le lecteur flash? Je navigue vers le répertoire où se trouve le fichier que je veux TAR et lorsque j'exécute la commande TAR, l'archive est créée dans ce répertoire. Puis-je obtenir l'archive à créer sur le lecteur flash à la place?
Greg
la création de TAR nécessite BASH non? Ou existe-t-il un moyen graphique de le faire?
Greg
Si vous utilisez un ubuntu normal, vous pouvez cliquer avec le bouton droit sur des fichiers ou des répertoires et cliquer sur "compresser" (je ne sais pas s'il est appelé ainsi, car j'utilise un système allemand)
FSMaxB
Je n'ai pas essayé tar depuis l'interface graphique mais j'ai utilisé tar.bz2 pour compresser depuis l'interface graphique et bash avec "tar -xf" pour décompresser, ce qui a préservé mes autorisations.
FSMaxB
0

J'utilise reiserfs depuis des années sur des clés USB sans problème. Eh bien - juste qu'ils ne sont pas lisibles à partir de systèmes Windows qui pourraient ne pas être mauvais s'ils se perdent.

Si vous partitionnez un stick, pour utiliser des parties avec Windows pour l'échange de données, assurez-vous que la partition Windows est la première - sinon elle ne sera pas identifiée (au moins pour XP, j'ai fait l'expérience).

Vous pouvez créer un gros système de fichiers (ne sont-ils pas assez limités pour les tailles de bâton d'aujourd'hui?) Et y ajouter un fichier volumineux mais vide, et monter ce fichier en tant que périphérique de boucle dans Ubuntu. Ensuite, vous pourrez conserver vos autorisations de fichier et augmenter ou diminuer l'espace réservé sans partitionner ni formater.

Comme déjà mentionné: les goudrons, les zips et ainsi de suite sont une autre possibilité.

Utilisateur inconnu
la source