Existe-t-il un bon outil de copie de fichiers?

8

Le dialogue de copie est bloqué à 0 secondes restantes ...

Chaque fois que j'essaie de copier de gros fichiers sur ma clé USB (dans n'importe quel format), cela s'arrête toujours au dernier moment. Il se termine après une longue période .

J'ai recherché Ask Ubuntu pour des articles similaires et j'en ai eu beaucoup , mais aucun d'entre eux n'a de bonnes solutions.

Alors ... Existe-t-il un outil de copie alternatif comme Teracopy sur Windows?

Ou existe-t-il des correctifs que je peux faire?

Entrez la description de l'image ici

Severus Tux
la source
Veuillez également me faire savoir quels fichiers je dois télécharger pour référence
Severus Tux
2
Pas vraiment sûr, mais je suppose fortement que votre problème est lié à la mise en cache de l'écriture USB . Recherchez des articles sur la façon de désactiver cela. L'ensemble du processus de copie apparaîtra alors plus lentement, mais il devrait être vraiment terminé lorsqu'il aura l'air terminé.
Byte Commander
@ByteCommander Par plus lent, voulez-vous dire la vitesse réelle ??
Severus Tux
2
Je ne suis pas trop familier avec ce sujet, mais la mise en cache conserve simplement les données que vous souhaitez écrire sur votre périphérique USB en mémoire et les écrit en fait plus tard, lorsqu'elle pense que le bus ou les périphériques sont moins occupés, ou lorsqu'elle peut optimiser la manière pour sauvegarder des blocs de données ensemble ... Cela ne devrait pas améliorer la vitesse d'écriture physique réelle (beaucoup), cela vous apparaîtra plus rapidement, car le processus de copie indique qu'il doit être terminé dès que toutes les données à écrire sont dans le cache. Mais il faut toujours plus de temps pour écrire le cache sur l'appareil. De toute façon, vous ne pouviez pas le débrancher immédiatement avant l'écriture du cache
Byte Commander
Oui, la vitesse de copie réelle serait la même (peut-être légèrement plus lente car le tampon rend moins probable qu'il y aura un moment où rien ne sera écrit sur le disque, mais pas beaucoup sur un système légèrement chargé), mais la boîte de dialogue de progression serait plus précis.
hobbs

Réponses:

6

Ne vous en faites pas trop.
Peut-être que votre clé USB est de "qualité inférieure".
La sortie du dialogue concernant l'heure est trompeuse.

D'autres outils de copie peuvent avoir un comportement de sortie différent,
mais ils n'améliorent pas la vitesse d'écriture du lecteur USB.
Le plus important de tous est que finalement l'action de copie réussit.

Ce que vous pouvez faire est d'optimiser les planificateurs d'entrée / sortie des disques.

Installez gksu(quand vous ne l'avez pas déjà fait) pour éditer les fichiers avec en gedittant que root:

sudo apt-get install gksu  

Optimisez maintenant la priorité de tous les processus en cours d'exécution pour différents types de disques:

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

Collez les lignes suivantes dans ce fichier vide et enregistrez le fichier par la suite:

# 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"  

Les modifications que vous avez apportées prennent effet après un redémarrage du système d'exploitation.

Aussi ... une solution de copie alternative est disponible dans les référentiels Ubuntu:

sudo apt-get install dirdiff  

Lancez maintenant l'outil à partir d'un terminal pour comparer ou copier des fichiers et des dossiers:

dirdiff

dirdiffest une interface graphique pour diffet peut gérer jusqu'à 5 arbres. Il affiche une fenêtre principale avec une liste de fichiers différents entre les arbres, avec des carrés colorés pour indiquer les âges relatifs des versions. Un menu vous permet d'afficher les différences entre deux versions dans une autre fenêtre. Un autre menu vous permet de copier des fichiers et des dossiers d'une arborescence à une autre.

Résumé: Le plus pertinent de tous est la qualité du disque USB et ses capacités de vitesse d'écriture!

cl-netbox
la source
7

La raison pour laquelle vous voyez la copie se produire comme vous le faites est que les écritures sur le lecteur USB sont asynchrones .

Lorsque vous copiez un fichier, il le copie dans le tampon du lecteur USB, qui se trouve dans la RAM de votre ordinateur. La première partie de la copie est très rapide car elle va juste dans le tampon. Les données sont vidéesdu tampon vers la clé USB à un rythme beaucoup plus lent. Une fois que le tampon est rempli, il doit attendre que certaines des données soient vidées sur le disque avant de pouvoir en placer plus dans le tampon, de sorte que la copie ralentit ensuite, jusqu'à la vitesse du lecteur USB. Une fois que tout le fichier a été placé dans le tampon, il apparaît que le fichier a été copié. Cependant, toutes les données n'ont pas été vidées du tampon sur le disque USB lui-même. Certains programmes de copie reviennent simplement et laissent cette vidange se poursuivre en arrière-plan. Certains attendront que toutes les données aient été vidées, c'est pourquoi elles resteront à 100% pendant un certain temps.

Vous pouvez basculer le disque en mode synchrone, ce qui signifie que toutes les données sont immédiatement écrites sur le lecteur USB sans utiliser le tampon. Cela donnera l'impression d'un transfert de données plus fluide, mais peut en fait aboutir à une réduction globale de la vitesse.

Si vous montez manuellement le disque à partir de la ligne de commande, vous pouvez l'ajouter -o sync.

Si vous le montez à l'aide de fstab, vous pouvez ajouter l' syncoption.

Si vous comptez sur Ubuntu pour le monter pour vous lorsque vous y accédez dans l'interface graphique, vous pouvez modifier les options de montage à partir de la ligne de commande une fois qu'il est monté:

sudo mount -o remount -o sync /media/yourname/diskname
Majenko
la source
2
Telle est la réponse.
kos
2

Le problème est probable que le fichier est entièrement lu et stocké en mémoire avant d'être complètement écrit sur le lecteur cible.

Cela ne signifie pas répondre exactement à la question, mais une solution de contournement pourrait être utilisée à pvpartir de la ligne de commande en cas de gros fichiers:

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

Chaque fois que l'on a besoin de copier un gros fichier:

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

A noter que cela souffre d'un problème de mise en mémoire tampon indésirable similaire lorsqu'il est utilisé dans un tuyau; si tel est le cas, un correctif limite le taux de transfert à quelque chose de légèrement supérieur à la vitesse d'écriture du lecteur cible:

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

Il existe plusieurs alternatives. Vous pouvez utiliser l'approche en ligne de commande:

cp *source* *target*

où source est le fichier que vous souhaitez copier et cible est le fichier ou le dossier dans lequel vous souhaitez copier. D'autres options peuvent être trouvées sur https://softwarerecs.stackexchange.com/

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

Cela lira à partir de votre iffichier et écrit dans le offichier en blocs de 64 Mo et attendra que chaque bloc soit écrit avant de commencer le suivant. L'utilitaire que vous utilisez est probablement en train de lire le fichier en mémoire et de l'envoyer sur le disque (et il n'y a pas de nombre d'octets à la fois). La mise en cache d'écriture peut être dans le dongle USB lui-même ... Donc, la vitesse de 60 Mo par seconde que vous obtenez est le taux de transfert via la connexion USB vers le cache interne du dongle. Mais ce n'est pas probable à moins qu'il s'agisse d'un dongle USB3. USB2 n'a pas un débit suffisant pour gérer 60 Mo par seconde.

Dmitry Rubanovich
la source
0

Il n'y a pas besoin de tout ce qui précède. Ouvrez simplement une fenêtre de terminal lorsque le transfert affiche 0% restant et tapez syncDans les pages de manuel, la commande sync vide les tampons du système de fichiers, mais bien sûr, elle ne videra que ceux pour lesquels vous avez les droits. Si vous voulez les rincer toussudo sync

Scooby-2
la source