Cherche logiciel de comparaison de fichier mode bloc - rdiff! - Logiciels - Linux et OS Alternatifs
Marsh Posté le 30-10-2014 à 10:24:28
Hydrogen a écrit : je precise que tout se fait offline, sinon j'aurais utilise rsync. |
Je ne comprends pas le problème de rsync avec ta contrainte offline.
On peut l'utiliser pour synchroniser des dossiers entre eux.
Marsh Posté le 30-10-2014 à 10:44:55
je n'ai pas de possibilite d'avoir de connectivite directe entre les deux machines 'source' et 'destination', donc pas possible d'utiliser rsync avec l'option --block-size=
ici il s'agit de synchroniser un fichier de 200GiB, mais de n'envoyer que les differences, a la mode par2/multipar.
Marsh Posté le 30-10-2014 à 10:59:05
Hydrogen a écrit : je n'ai pas de possibilite d'avoir de connectivite directe entre les deux machines 'source' et 'destination', donc pas possible d'utiliser rsync avec l'option --block-size= |
OK, c'était pas mentionné dans ton post initial.
Marsh Posté le 30-10-2014 à 11:07:09
Salut, ça serait plus facile de passer par un disque dur USB pour copier ton fichier de 200 Go d'une machine à l'autre si tu ne peux pas le faire en réseau.
Je ne connais pas de logiciel qui fasse ce que tu demandes, mais tu es très patient, je pense que tu peux le faire manuellement:
Sur la source, tu "splittes" ton gros fichier en plusieurs petits morceaux (ex: 1 Mo).
Ensuite, tu fais un md5sum sur chaque fichier de 1 Mo.
Coté destination, tu fais la même opération.
Ensuite, tu compares les 2 fichiers MD5 (qui sont au format texte), et tu vois quels morceaux sont différents des deux cotés.
Tu copies les morceaux différents sur la machine destination.
Enfin, tu reconstitues le fichier de 200 Go en concaténant les morceux de 1 Mo.
Bon, personnellement, je ne jouerais pas à ça, mais c'est pour expliquer le principe
Marsh Posté le 30-10-2014 à 11:18:15
justement... je cherche un soft qui fait exactement ca de facon automatisee et il existe. manuellement ce n'est juste pas raisonnable. et c'est parce que ce n'est pas raisonnable que je cherche a automatiser
pour la copie usb, je veux bien mais c'est entre lagos (ng) et paris. et je ne rentre pas souvent.
envoyer le fichier ca me prend plus de deux semaines... !
Marsh Posté le 30-10-2014 à 12:00:47
Rdiff fait exactement ce que tu veux normalement.
Edit : de mémoire rdiff marche fichier par fichier, si tu veux automatiser ca sur une arborescence base toi sur les scripts dispo sur la page suivante : http://users.softlab.ece.ntua.gr/~ [...] rsync.html
Marsh Posté le 30-10-2014 à 14:43:24
merci beaucoup, je vais essayer tout ca!
edit: package fait pour synology maintenant ca mouline
Marsh Posté le 01-11-2014 à 13:26:47
ouch, ca consomme trop de mémoire
la commation plafonne direct au taquet de la mémoire quand le calcul du delta se fait. même avec 8GiB de ram ca coince
rdiff: ERROR: (rs_job_complete) loadsig job failed: out of memory
rdiff: ERROR: out of memory
Marsh Posté le 06-11-2014 à 19:23:50
le problème de mémoire est rencontré avec le "block-size" par défaut. je suis passé à un bs à 1MiB et plus de soucis (et surtout ça suffit largement, je passe de 1.1GiB à 3MiB pour le fichier de signature!).
la version actuelle de rdiff a un bug qui fait que ca plante pour tout fichier de plus de 4GiB.
https://bugs.debian.org/cgi-bin/bug [...] bug=355178
(ce qui me fait plus peur c'est l'utilisation de md4 )
rdiff: (rs_patch_s_copying) got 16000 bytes back from basis callback |
edit: tentative avec xdelta mais ça ne compile par sur arm
edit: je tente le coup avec une nouvelle version sur github estampillée 1.0.0PRE https://github.com/dropbox/librsync . elle a l'air de compiler tous les patchs, dont celui de la limite de taille de fichiers.
Marsh Posté le 10-11-2014 à 19:00:18
la version de rdiff sur github résout le problème de la limitation à 4GiB
Marsh Posté le 19-11-2014 à 15:40:54
Oh, je repasse ici par accident, souci de cookies qui me déloggue régulièrement du forum et ne m'a pas fait voir que le topic était encore actif.
Désolé de ne pas avoir vu tes soucis plus tôt vu que j'avais rencontré le souci et résolu de la même façon que tu l'as fait.
Marsh Posté le 30-10-2014 à 09:11:01
salut!
apres pas mal de recherches infructueuses, je n'ai plus d'autre solution que de jetter une bouteille a la mer
il y a une quinzaine d annee, je me souviens avoir utilise un logiciel pour faire de la copie de fichier
sdans un simili mode bloc, et surtout offline. mais je ne retrouve plus le nomje precise que tout se fait offline, sinon j'aurais utilise rsync.
de ce que je me souviens, le fonctionnement est a peu pres le suivant:
1. sur la destination : analyse du fichier destination. creation d'un fichier avec un genre d'index de hash par "sous bloc" du fichier.
2. sur la source : copie de l'index (pas par le soft), comparaison avec le fichier source. le soft genere un fichier qui contient l'ensemble des "sous blocs" differents de la destination.
3. sur la destination : copie des "sous blocs" (pas par le soft). applique les modifications au fichier destination pour qu'il soit a l'identique du fichier source.
je mets "sous bloc" entre guillemets car la taille du bloc est soit a l appreciation du soft, soit force par l'utilisateur. donc pas un bloc dans le sens systeme de fichier.
l'utilisation est pour la "synchro" de fichier volumineux (200GiB+) dans lesquels seulement quelques centaines de MiB ont change.
merci pour le coup de main!
edit : résolüte avec rdiff sur github (post 0.9.7). merci!
Message édité par Hydrogen le 10-11-2014 à 19:02:22