URL: https://linuxfr.org/news/sortie-de-gfast-copy-et-de-fast-copy-sur-www-open-source-projects-net Title: Sortie de gfast-copy et de fast-copy sur www.open-source-projects.net Authors: Linuxator Davy Defaud, Pierre Jarillon, Xavier Teyssier, palm123 et claudex Date: 2017年10月26日T02:16:28+02:00 License: CC By-SA Tags: copieur, chunk, file, copying, logiciel, haute_performance et gtk+3 Score: 11 ![Icône de gfast-copy](http://www.open-source-projects.net/gfast-copy/Icon/gfast-copy_icon.png) Copier un unique (gros) fichier d’une source vers une destination donnée n’est pas une tâche pour laquelle les systèmes sont toujours optimisés. Selon la philosophie UNIX, un programme doit accomplir une unique tâche précise et l’accomplir du mieux possible. C’est ce qui a donné naissance à _gfast-copy_ et à [_fast-copy_](http://www.open-source-projects.net/gfast-copy/gfast-copy_presentation.html). Ces programmes font une chose banale mais le font bien. ---- [Télécharger le paquetage Debian de gfast-copy](http://www.open-source-projects.net/gfast-copy/Download/py/download_gfast-copy_deb.cgi) [Télécharger le paquetage RPM de gfast-copy](http://www.open-source-projects.net/gfast-copy/Download/py/download_gfast-copy_rpm.cgi) [Télécharger la version Windows de gfast-copy](http://www.open-source-projects.net/gfast-copy/Download/py/download_gfast-copy_exe.cgi) [Télécharger l’archive tar de gfast-copy](http://www.open-source-projects.net/gfast-copy/Download/py/download_gfast-copy_tarball.cgi) [README de gfast-copy.](http://www.open-source-projects.net/gfast-copy/Notice/Online/index.html) [GitHub de gfast-copy](https://github.com/mrcyberfighter/gfast-copy) ---- J’ai développé ces deux programmes car je copie souvent de gros fichiers (vidéos, images ISO, grosses archives, etc.) de « droite à gauche » et de « gauche à droite ». Et je trouvais que les systèmes d’exploitation copiaient trop lentement, parce qu’ils faisaient parallèlement autre chose, alors j’ai décidé de déléguer cette tâche à un binaire. J’ai lu dans les [manuels GNU](https://www.gnu.org/manual/manual.fr.html) qu’un programme qui dispose d’une interface graphique doit pouvoir accomplir la même tâche dans un (pseudo) terminal, alors j’ai écrit deux petits programmes en langage _C_ : **gfast-copy** (**G**raphical **F**ast **C**opy) et **fast-copy** (**F**ast **C**opy). # gfast-copy (Graphical Fast Copy). **gfast-copy** dispose d’une interface graphique **simple** : ![Capture d’écran de gfast-copy](http://www.open-source-projects.net/gfast-copy/Screenshots/gfast-copy_GNU_Linux_main_interface_dark_theme_erase_src_file_on.png) Tout en haut, se trouve une barre de menu. Puis, alignés verticalement, viennent : * un bouton étiqueté _Source_ avec une icône qui vous permet de choisir le fichier à copier ; * à côté, se trouve un bouton interrupteur affichant une simple icône permettant d’effacer le fichier source ou pas après la copie ; * un bouton étiqueté _Destination_ avec une icône vous permettant de choisir le l’emplacement et le nom du fichier de sortie (vous pouvez écraser un fichier). * à côté se trouve un bouton permettant de lancer la copie ; * et, en bas, une barre de progression affichant la progression rapide de la copie. # fast-copy (Fast Copy) **fast-copy** est un outil en ligne de commande permettant de faire la même chose que **gfast-copy** mais depuis un terminal et, du coup, plus rapidement. ![Capture d’écran de fast-copy](http://www.open-source-projects.net/gfast-copy/Screenshots/fast-copy_GNU_Linux_processing_copying_operation.png) Ce programme permet aussi: + d’écraser la destination ; + d’effacer le fichier source après la copie ; + d’utiliser les appels système au lieu des flux (comportement par défaut). ```bash $ fast-copy -h fast-copy - a fast chunk file copy program. Usage : fast-copy -r input-file -w output-file [-o] [-s] [-e] [-h] -r Read from file (required). -w Write to file (required). -o Overwrite destination file (optional). -e Erase source file (optional). -s Use syscalls instead of streams (optional only UNIX). -h Print this help message. - Copyright (©) 2017 Brüggemann Eddie GPLv3. ``` ## Algorithme de copie. 1. Le programme cherche d’abord la taille optimale de tampon : - soit en regardant si la constante `BUFSIZ` est définie et si elle est assez grande, - sinon, la taille du tampon est mise à ``8192`` octets, - si le programme utilise les appels système, il va regarder la taille optimale du tampon dans le système de fichiers ; 1. le programme définit un tampon de la taille optimale ; 1. le programme va copier dans une boucle très rapide la source vers la destination affichant une barre de progression ; 1. une fois la copie effectuée avec succès le programme va mettre à jour le système de fichiers ; 1. si vous le désirez le programme va supprimer le fichier source. # Compatibilité et portages Les programmes ne requièrent que GTK+ en version supérieure ou égale à 3.14 (**fast-copy** et ne font qu’un petit usage de [GLib](https://fr.wikipedia.org/wiki/GLib) et de [Gio](https://developer.gnome.org/gio/stable/)). Les programmes existent pour plusieurs systèmes d’exploitation : ## GNU/Linux + un paquetage ``*.deb`` ; + un paquetage ``*.rpm`` ; + un ``tarball`` basé sur les _autotools_. ## Windows + un fichier ``*.exe`` auto‐extractible ne comprenant que **gfast-copy** ; + le ``tarball`` permet de compiler avec **MSYS2** et **Cygwin** (les dernières versions en date d’aujourd’hui). ## macOS (Sierra 10.12) Le **tarball** permet de compiler les programmes et vous crée une icône dans le dossier ``/Applications``. _**Note :** Vous pourrez télécharger GTK 3 grâce à **brew** et suivre les instructions d’installation._ # Notes de l’auteur N’utilisez ces deux programmes que pour copier de gros fichiers. Pour les autres, votre système d’exploitation s’en occupe très bien. Si vous préférez la rapidité de votre système d’exploitation alors n’utilisez pas ces programmes.> ***Pourquoi ces programmes ne permettent pas de copier plusieurs fichiers à la fois (surtout fast-copy) ?***> > _Car il existe des outils pour cela et le récursivité des chemins de fichiers de destination n’est pas une chose facile._ Car, comme je l’ai dit, je les ai développés à des fins personnelles mais je désire les partager. _**Note :** J’ai sûrement péché d’avoir mis une option pour chaque chemin de fichier, mais regardez la notice, vous trouverez un exemple de « wrapper » de **fast-copy** très pratique._ # Performances Cela dépend de plusieurs facteurs : le système d’exploitation sur lequel est utilisé le programme, la charge de la machine et, bien sûr, la nature des sources et cibles de l’opération de copie : * disque dur interne vers un disque dur interne ; * disque dur interne vers un disque dur externe ; * disque dur externe vers un disque dur interne.

AltStyle によって変換されたページ (->オリジナル) /