Wie kopiere ich Verzeichnisse mit debugfs?

Wie kopiere ich Verzeichnisse mit debugfs?

Die Manpage von debugfs vermittelt den Eindruck, dass der Befehl „rdump ...“ alle im angegebenen Dateisystem gefundenen Dateien rekursiv vom cwd von debugfs in das cwd des nativen Dateisystems kopiert. Stattdessen erhalte ich anscheinend einen Syntaxfehler und es wird kein Kopiervorgang eingeleitet?

Dies sind die Befehle, die ich ausführe:

cd /path/to/transfer/destination
debugfs /dev/sda1 -R rdump . .

Meine Aufgabe ist es, den gesamten Inhalt eines sauberen, aber nicht einhängbaren USB-Speichergeräts auf die Festplatte des Hostcomputers zu kopieren. Der Hostcomputer unterstützt die vom Dateisystem des USB-Geräts verwendete Inode-Größe (256) nicht und seine Software ist nicht aktualisierbar, daher wollte ich die Dateien mit debugfs übertragen. Wenn jemand andere Vorschläge für diese Aufgabe hat, wäre ich dankbar.

Antwort1

Ich sehe den Verweis auf das aktuelle Arbeitsverzeichnis nicht auf der Manpage für die Version, die ich habe. Das cwd (pwd) ist in der Shell von Bedeutung und hat für ein Gerät keine Bedeutung (anders als unter Windows, wo jedes Laufwerk ein cwd hat). Ich würde empfehlen, sowohl das Quell- als auch das Zielverzeichnis vollständig anzugeben. Warum nicht taroder ddoder verwenden rsync?

Antwort2

Wie wäre es damit?

debugfs /dev/sda1 -R "rdump / /path/to/transfer/destination"

Ich habe das nicht getestet, da ich nichts habe, woran ich es testen könnte, aber TFM scheint anzudeuten, dass das korrekter ist. Tatsächlich sollten Sie die Argumente vielleicht vertauschen, damit sie besser zu dem passen, was die Manpage vorschlägt:

debugfs -R "rdump / /path/to/transfer/destination" /dev/sda1

Ich weiß nicht, ob das eine Rolle spielt, aber es könnte sein.

verwandte Informationen