Gibt es ein gutes Tool zum Kopieren von Dateien?

8

Der Kopierdialog bleibt bei 0 Sekunden übrig ...

Wenn ich versuche, große Dateien auf mein USB-Laufwerk (in einem beliebigen Format) zu kopieren, stoppt es immer im letzten Moment. Es endet nach langer Zeit .

Ich habe Ask Ubuntu nach ähnlichen Posts durchsucht und viele bekommen , aber keiner von ihnen hat gute Lösungen.

Also ... Gibt es ein alternatives Kopiertool wie Teracopy unter Windows?

Oder gibt es irgendwelche Korrekturen, die ich tun kann?

Geben Sie hier die Bildbeschreibung ein

Severus Tux
quelle
Bitte lassen Sie mich auch wissen, welche Dateien ich als Referenz hochladen soll
Severus Tux
2
Ich bin mir nicht sicher, aber ich gehe davon aus, dass Ihr Problem mit dem USB-Schreib-Caching zusammenhängt . Suchen Sie nach Beiträgen, wie Sie dies deaktivieren können. Der gesamte Kopiervorgang wird dann langsamer angezeigt, sollte aber wirklich abgeschlossen sein, wenn er dann abgeschlossen aussieht.
Byte Commander
@ByteCommander Mit langsamer meinen Sie die tatsächliche Geschwindigkeit ?
Severus Tux
2
Ich bin mit diesem Thema nicht allzu vertraut, aber das Caching speichert nur die Daten, die Sie auf Ihr USB-Gerät schreiben möchten, im Speicher und schreibt sie später tatsächlich, wenn der Bus oder die Geräte weniger ausgelastet sind oder wenn es den Weg optimieren kann Datenblöcke zusammen speichern ... Dies sollte die tatsächliche physische Schreibgeschwindigkeit nicht (wesentlich) verbessern, sondern erscheint Ihnen nur schneller, da der Kopiervorgang abgeschlossen sein muss, sobald sich alle zu schreibenden Daten im Cache befinden. Das Schreiben des Caches auf das Gerät dauert jedoch noch länger. Sie konnten es sowieso nicht sofort ausstecken, bevor der Cache geschrieben wurde
Byte Commander
Ja, die tatsächliche Kopiergeschwindigkeit wäre dieselbe (möglicherweise etwas langsamer, da der Puffer es weniger wahrscheinlich macht, dass in einem Moment nichts auf die Festplatte geschrieben wird, aber auf einem leicht geladenen System nicht viel), sondern der Fortschrittsdialog wäre genauer.
Hobbs

Antworten:

6

Sie sollten sich darüber nicht zu viele Sorgen machen.
Möglicherweise ist Ihr USB-Stick von "geringerer Qualität".
Die Dialogausgabe bezüglich der Zeit ist irreführend.

Andere Kopiertools weisen möglicherweise ein anderes Ausgabeverhalten auf,
verbessern jedoch nicht die Schreibgeschwindigkeit des USB-Laufwerks.
Am wichtigsten ist jedoch, dass die Kopieraktion endlich erfolgreich ist.

Sie können die Eingabe- / Ausgabe-Scheduler von Festplatten optimieren.

Installieren Sie gksu( falls Sie dies noch nicht getan haben), um Dateien mit geditdem Stammverzeichnis zu bearbeiten :

sudo apt-get install gksu  

Optimieren Sie nun die Priorität aller laufenden Prozesse für verschiedene Festplattentypen:

gksudo gedit /etc/udev/rules.d/60-schedulers.rules

Fügen Sie die folgenden Zeilen in diese leere Datei ein und speichern Sie die Datei anschließend:

# set cfq scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq"

# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"  

Die von Ihnen vorgenommenen Änderungen werden nach einem Neustart des Betriebssystems wirksam.

Außerdem ... ist in den Ubuntu-Repositories eine alternative Kopierlösung verfügbar:

sudo apt-get install dirdiff  

Starten Sie nun das Tool von einem Terminal aus, um Dateien und Ordner zu vergleichen oder zu kopieren:

dirdiff

dirdiffist eine GUI für diffund kann bis zu 5 Bäume verarbeiten. Es wird ein Hauptfenster mit einer Liste von Dateien angezeigt, die sich zwischen den Bäumen unterscheiden, mit farbigen Quadraten, die das relative Alter der Versionen angeben. In einem Menü können Sie die Unterschiede zwischen zwei beliebigen Versionen in einem anderen Fenster anzeigen. In einem anderen Menü können Sie Dateien und Ordner von einem Baum in einen anderen kopieren.

Zusammenfassung: Am relevantesten ist die Qualität des USB-Laufwerks und seine Schreibgeschwindigkeit!

cl-netbox
quelle
7

Der Grund dafür, dass das Kopieren so erfolgt, ist, dass die Schreibvorgänge auf das USB-Laufwerk asynchron sind .

Wenn Sie eine Datei kopieren, wird sie tatsächlich in den Puffer des USB-Laufwerks kopiert, der sich im RAM Ihres Computers befindet. Der erste Teil der Kopie ist sehr schnell, da er nur in den Puffer gelangt. Die Daten werden gelöschtviel langsamer vom Puffer zum USB-Laufwerk. Sobald der Puffer voll ist, muss er warten, bis ein Teil der Daten auf die Festplatte geschrieben wurde, bevor er weiter im Puffer abgelegt werden kann. Die Kopie wird dann sofort langsamer, effektiv auf die Geschwindigkeit des USB-Laufwerks. Sobald die gesamte Datei in den Puffer gelegt wurde, scheint die Datei kopiert worden zu sein. Es wurden jedoch nicht alle Daten aus dem Puffer auf das USB-Laufwerk selbst geleert. Einige Kopierprogramme kehren einfach zurück und lassen das Spülen im Hintergrund weiterlaufen. Einige warten, bis alle Daten gelöscht wurden, weshalb sie für einige Zeit zu 100% aktiviert bleiben.

Sie können die Festplatte in den synchronen Modus schalten, dh alle Daten werden sofort auf den USB-Stick geschrieben, ohne den Puffer zu verwenden. Dies vermittelt den Eindruck einer reibungsloseren Datenübertragung, kann jedoch zu einer allgemeinen Geschwindigkeitsreduzierung führen.

Wenn Sie die Festplatte manuell über die Befehlszeile bereitstellen, können Sie sie hinzufügen -o sync.

Wenn Sie es mit fstab mounten, können Sie die syncOption hinzufügen .

Wenn Sie sich darauf verlassen, dass Ubuntu es für Sie bereitstellt, wenn Sie über die GUI darauf zugreifen, können Sie die Bereitstellungsoptionen über die Befehlszeile ändern, sobald es bereitgestellt ist:

sudo mount -o remount -o sync /media/yourname/diskname
Majenko
quelle
2
Das ist die Antwort.
Kos
2

Das Problem ist wahrscheinlich, dass die Datei vollständig gelesen und gespeichert wird, bevor sie vollständig auf das Ziellaufwerk geschrieben wird.

Dies bedeutet nicht, die Frage genau zu beantworten, aber pvbei großen Dateien kann eine Problemumgehung über die Befehlszeile verwendet werden:

sudo add-apt-repository universe && sudo apt-get update && sudo apt-get install pv

Wann immer man eine große Datei kopieren muss:

pv /path/to/big_file >/media/username/usb/big_file

Es ist zu beachten, dass dies unter einem ähnlichen unerwünschten Pufferproblem leidet, wenn es in einem Rohr verwendet wird; Wenn dies der Fall ist, begrenzt ein Fix die Übertragungsrate auf etwas, das etwas über der Schreibgeschwindigkeit des Ziellaufwerks liegt:

[...] | pv -L 10M >/media/username/usb/big_file # Limits the transfer rate to 10 MB/s
kos
quelle
1

Es gibt eine Reihe von Alternativen. Sie können den Befehlszeilenansatz verwenden:

cp *source* *target*

Dabei ist Quelle die Datei, die Sie kopieren möchten, und Ziel die Datei oder der Ordner, in den Sie kopieren möchten. Weitere Optionen finden Sie unter https://softwarerecs.stackexchange.com/

Elder Geek
quelle
0
dd if=INPUT_FILE_PATH of=OUTPUT_FILE_PATH bs=$(( 64 * 1024 * 1024 )) oflag=sync

Dies liest aus Ihrer ifDatei und schreibt ofin 64-MB-Blöcken in die Datei. Warten Sie, bis jeder Block ausgeschrieben ist, bevor Sie mit dem nächsten beginnen. Das Dienstprogramm, das Sie verwenden, liest höchstwahrscheinlich nur die Datei in den Speicher und sendet sie dann an die Festplatte (und es ist nicht abzusehen, wie viele Bytes gleichzeitig ausgeführt werden). Das Schreib-Caching kann sich jedoch im USB-Dongle selbst befinden. Die Geschwindigkeit von 60 MB pro Sekunde, die Sie erhalten, ist also die Übertragungsrate über die USB-Verbindung zum internen Cache des Dongles. Aber das ist nicht wahrscheinlich, es sei denn, es ist ein USB3-Dongle. USB2 hat nicht genug Durchsatz, um 60 MB pro Sekunde zu verarbeiten.

Dmitry Rubanovich
quelle
0

All dies ist nicht erforderlich. Öffnen Sie einfach ein Terminalfenster, wenn bei der Übertragung noch 0% angezeigt werden, und geben syncSie ein. Auf den Manpages werden mit dem Befehl sync die Dateisystempuffer geleert, aber natürlich werden nur diejenigen gelöscht, für die Sie die Rechte haben. Wenn Sie sie alle spülen möchten, geben Sie einsudo sync

Scooby-2
quelle