Was für ein Dateisystem empfehlen Sie für ein USB-Flash-Laufwerk?

18

Dies ist ein Problem, das ich bei der Verwendung von Ubuntu habe: Ich habe zwei Computer, auf denen Ubuntu installiert ist (comp1 und comp2). Ich erstelle ein Dokument mit Ubuntu auf comp1 und kopiere die Datei dann auf ein FAT-formatiertes USB-Flash-Laufwerk. Über das Flash-Laufwerk füge ich das Dokument auf comp2 ein. Das Problem ist, dass die Dateiberechtigungen während der Übertragung niemals erhalten bleiben. Ich gehe davon aus, dass die FAT die Berechtigungen nicht unterstützt.

Gibt es eine Lösung dafür? Soll ich das FAT-Dateisystem weiterhin für USB-Flash-Laufwerke verwenden (da FAT am besten für Flash-Laufwerke geeignet ist) und nur mit diesem Berechtigungsproblem leben? Oder wird empfohlen, mein Flash-Laufwerk mit einem "Ubuntu Friendly" -Dateisystem neu zu formatieren, das die Berechtigungen beibehält?

Greg
quelle

Antworten:

11

ext4 ist ein Journalling-Dateisystem, dh wenn das Gerät vorzeitig vom Stromnetz getrennt wird, besteht eine größere Wahrscheinlichkeit, dass das beschädigte Dateisystem wiederhergestellt wird. Der Journalteil des Schreibvorgangs enthält Informationen darüber, was zu tun ist, und wird nach Abschluss des Vorgangs gelöscht. Wenn festgestellt wird, dass auf einem Gerät beim Mounten ein unvollständiges Journal vorhanden ist, kann das Dateisystem auf den vorherigen Status zurückgesetzt werden, wodurch die Integrität erhalten bleibt.

Zwar ist der Platzbedarf für ein Journalling-Dateisystem auf einem USB-Stick etwas höher, für die meisten Dinge ist dies jedoch eine gute Wahl.

Wenn Sie ein Gerät benötigen, das auch jederzeit an einen Computer angeschlossen werden kann, ist FAT die richtige Wahl. Wenn Sie möchten, dass ein Gerät nur gelegentlich an einen Windows-Computer angeschlossen wird, können Sie ext2-Gerätetreiber in Windows installieren, mit denen alle ext (x) -Laufwerke gelesen werden können. Da Windows nicht über Linux-Berechtigungen und -Eigentum Bescheid weiß, werden diese natürlich auch nicht behandelt.

Hersteller4
quelle
Ich hätte es nicht besser sagen können. +1
Luis Alvarado
Der Ext2-Treiber für Windows sollte auch Ext4-Dateisysteme lesen können - das Journal wird einfach ignoriert.
Nathan Osman
8

Sie können versuchen, Ihr Laufwerk als UDF (Universal Disk Format) zu formatieren. Es ist das Format zur Verwendung auf CDs und DVDs. Die meisten modernen Betriebssysteme können lesen und schreiben.

Im Moment, wenn ich meine Daten auf einem UDF-formatierten Laufwerk betrachte, scheinen die Linux-Dateiberechtigungen erhalten zu sein. Bisher hat es bei mir geklappt.

Eine weitere gute Sache bei UDF-formatierten Laufwerken ist, dass sie eine einzelne große Datei mit bis zu 16 Exabyte speichern können (korrigieren Sie mich, wenn ich mich irre.), Wohingegen Fat32 nur Dateien mit einer Größe von 4 GB oder weniger und einer maximalen Partitionsgröße für FAT32 speichern kann ist nur 2 TB.

Es funktioniert gut unter Win7 und 8. Bei älteren Windows-Betriebssystemen wie XP und 2000 können Sie vom Laufwerk lesen, müssen jedoch einen Treiber installieren, um darauf schreiben zu können.

Für Mac ist OS X 10.5 und höher voll kompatibel. Hier ist eine vollständige Kompatibilitätstabelle. UDF-Kompatibilitätstabelle

Führen Sie unter Ubuntu die folgenden Schritte aus, um ein Laufwerk als UDF zu formatieren.

sudo apt-get update
sudo apt-get install udftools

Okay, jetzt möchten Sie die aktuellen Partitionen auf dem Ziellaufwerk löschen. Sie können entweder ein GUI-Tool wie Disk Utility verwenden oder die folgenden Schritte ausführen .

sudo blkid

Finden Sie Ihr Laufwerk in der Ausgabe. (Sie sehen ungefähr so ​​aus wie / dev / sdb oder / dev / sdc. ) Führen Sie nun die folgenden Schritte aus , ersetzen Sie jedoch das ' x ' in / dev / sdx, um auf das Laufwerk zu verweisen, dessen Partition Sie löschen möchten. Tun Sie dies für beide Codezeilen.

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

Sie können die Position von 'DriveLabel' nach Ihren Wünschen ändern.

Das sollte es sein.

Eigentlich mache ich das etwas anders, habe aber festgestellt, dass diese Methode einfacher zu befolgen ist. Ich habe diese Methode von dieser Site aus referenziert .

Ich hoffe das hilft jemandem da draußen.

Digital Sennin
quelle
nicht für mich arbeiten: Fehler , wenn das USB - Laufwerk Montage
Louis
1
Vielen Dank, sehr interessanter Ansatz. Funktioniert perfekt für Desktop-Betriebssysteme (getestet für Ubuntu 15.10+, Windows 7+), aber nicht für Mobilgeräte (definitiv nicht für Android bis 8.x). Ich erwarte viel weniger Auswirkungen beim Schreiben auf das Flash-Laufwerk als beim Journaling-Dateisystem. Hier ist ein Einzeiler dafür: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

Wenn Sie ein Dateisystem verwenden, das Benutzer-IDs auf einem USB-Laufwerk beibehält, können Probleme auftreten, die durch die Tatsache verursacht werden, dass Benutzer-IDs in der Reihenfolge, in der Benutzerkonten erstellt werden, zugewiesen werden und das Dateisystem tatsächlich numerische IDs von Dateibesitzern und keine Benutzernamen speichert. Wenn also beispielsweise Computer A über aliceund bobKonten verfügt und Computer B über und Konten verfügt bruce, ist es wahrscheinlich, dass Alice beim Kopieren ihrer Dateien auf ein ext (2/3/4) -formatiertes USB-Laufwerk auf Computer B zugreift und versucht, darauf zuzugreifen Die Dateien, bei denen sie feststellt, dass sich alle Dateien im Besitz von befinden und für die sie nur Lesezugriff haben .zoealicebrucealice

Wenn Sie nur einen Benutzer auf beiden Computern haben, ist dies natürlich kein Problem.

Das Übertragen von in einem tarArchiv gepackten Dateien , wie von @FSMaxB vorgeschlagen, kann dieses Problem lösen, da die Dateien beim Entpacken eines Archivs im Besitz Ihrer Benutzer-ID erstellt werden.

Sergey
quelle
0

Wenn Sie Ihr Flash-Laufwerk nur mit Linux-Systemen verwenden, können Sie eines der ext-Dateisysteme verwenden, z. B. ext4. Bei Verwendung mit anderen Systemen ist FAT jedoch das einzige kompatible Dateisystem.

Eine Möglichkeit, FAT zu verwenden und die Berechtigungen (nicht das Eigentum) beizubehalten, wäre die Verwendung von tar-Archiven!

FSMaxB
quelle
1
Wenn Sie ein tar-Archiv entpacken, rootbleibt der Besitz von Dateien erhalten, sodass die Archive selbst Benutzer-IDs speichern. Dies auf verschiedenen Computern zu tun, wird jedoch nicht empfohlen, da sich die Benutzer-IDs unterscheiden können.
Sergey
Vielen Dank. Ich denke, ich werde die TAR-Lösung vorerst ausprobieren. Frage: Gibt es eine Möglichkeit, die TAR zu erstellen und auf dem Flash-Laufwerk zu erstellen? Ich navigiere zu dem Verzeichnis, in dem sich die Datei befindet, und wenn ich den TAR-Befehl ausführe, wird das Archiv in diesem Verzeichnis erstellt. Kann ich das Archiv stattdessen auf dem Flash-Laufwerk erstellen lassen?
Greg
Erstellen von TAR erfordert BASH oder? Oder gibt es eine GUI-Möglichkeit, dies zu tun?
Greg
Wenn Sie ein normales Ubuntu verwenden, können Sie mit der rechten Maustaste auf Dateien oder Verzeichnisse klicken und auf "Komprimieren" klicken (weiß nicht, ob es so heißt, da ich ein deutsches System verwende)
FSMaxB
Ich habe nicht tar aus der GUI ausprobiert, sondern tar.bz2 zum Komprimieren aus der GUI und der Bash mit "tar -xf" zum Dekomprimieren verwendet, wodurch meine Berechtigungen erhalten blieben.
FSMaxB
0

Ich benutze seit Jahren problemlos reiserfs auf USB-Sticks. Nun - nur, dass sie auf Windows-Systemen nicht lesbar sind, was nicht schlecht sein könnte, wenn sie verloren gehen.

Wenn Sie einen Stick partitionieren, um Teile mit Windows für den Datenaustausch zu verwenden, stellen Sie sicher, dass die Fensterpartition die erste ist - ansonsten wird sie nicht identifiziert (zumindest für XP habe ich die Erfahrung gemacht).

Sie können ein Fat-Dateisystem erstellen (sind sie für die heutigen Stick-Größen nicht recht begrenzt?), Eine große, aber leere Datei hinzufügen und diese Datei als Loop-Gerät in Ubuntu mounten. Dann können Sie Ihre Dateiberechtigungen beibehalten und den reservierten Speicherplatz ohne Partitionierung oder Formatierung vergrößern oder verkleinern.

Wie bereits erwähnt: Teere, Reißverschlüsse usw. sind eine weitere Möglichkeit.

Benutzer unbekannt
quelle