Bonjour, Ayant trouvé quelques minutes, je viens de tenter une recherche sur : outil pour comparer fichiers et dossiers Linux en local
Voici quatre liens qui peuvent éclairer le sujet : https://fr.linux-console.net/?p=17836 https://fr.linux-console.net/?p=998 https://fr.ilinuxgeek.com/article/9-best-file-comparison-and-difference-diff-tools-for-linux https://fr.ilinuxgeek.com/article/how-to-compare-local-and-remote-files-in-linux Bonne découverte Cassis ----- Mail d'origine ----- De: Bertrand Orvoine <[email protected]> À: [email protected] Envoyé: Mon, 24 Feb 2025 08:00:46 +0100 (CET) Objet: Re: Outils de comparaison de fichier à deux panneaux Bonjour, Ca ne répond pas entièremet au probleme, mais peut-être regarder du coté de fdupes pour trouver 2 fichiers au contenu identique : FDUPES(1) General Commands Manual FDUPES(1) NAME fdupes - finds duplicate files in a given set of directories SYNOPSIS fdupes [ options ] DIRECTORY ... DESCRIPTION Searches the given path for duplicate files. Such files are found by comparing file sizes and MD5 signatures, followed by a byte-by-byte comparison. A+ Le Sun, Feb 23, 2025 at 03:28:25PM +0100, Benoît Barbier a écrit : > Bonjour, > > > C'est juste à un instant T (pas besoin de crontab) comparer les fichiers du > disque d'un ordi à un disque externe. Et c'est bien sur le système de > fichier local d'un pc (pas d'un serveur qui fait de nombreuse écritures en > permanence). > > Il n'est même pas nécessaire de retrouver deux fichiers de nom distincts > mais de contenus identiques. > > Je me suis demandé si je ne pourrais pas opter pour un outil rudimentaire > DIY en bash avec zenity: > > Faire une mise à jour de la liste des fichiers du système avec updatedb > (disque externe non branché) > https://manpages.org/updatedb > > > Boucler sur tous les fichiers du disque externe jusqu'au fond de chaque > arborescence. > Pour chaque fichier cliqué : > locate nomFichier > > si trouvé comparer le plus récent > Si pas trouvé proposer de le copier dans le panneau opposé. > > Un truc aussi rudimentaire me conviendrait pour mettre de l'ordre dans des > fichiers à un instant T sur un PC, qui ne fait rien d'autre. > Pas sur un serveur qui écrit en permanence sur le disque > > Mais si ça existe, je prends! > > Je ne vais pas réinventer la roue, même si ça peut être amusant à écrire ! > ;-) > > Est-ce que je dis une grosse bêtise et sous-estime la difficulté de la tâche > ? > > -- > > Benoît > > Le 23/02/25 à 14:55, Basile Starynkevitch a écrit : > > On Sun, 2025-02-23 at 14:36 +0100, Benoît Barbier wrote: > > > Bonjour, > > > > > > Je recherche un outil de comparaison de répertoires à deux panneaux qui > > > fonctionnerait comme un outil diff comme meld pour comparer deux > > > répertoires ou deux arborescences. > > > Avec la possibilité de pousser la différence à gauche ou à droite, qui > > > montre le plus récent. > > > Cf. > > > https://meldmerge.org/ > > > > > > Le problème qui se pose : dans le panneau de gauche j’ai un fichier sur > > > un disque dur externe, il n’est pas dans le répertoire du même nom dans > > > le panneau de droite, mais ne serait-il pas autre part dans > > > l’arborescence du disque dur ? > > > > > > Il faudrait un outil qui travail avec la base de donnée updatedb/locate > > > ou qui a une autre méthode pour me signaler que le fichier n’est pas > > > dans le panneau opposé mais autre part sur le disque. > > > > Il me semble que GNU emacs a un mode qui convient. > > > > s'il s'agit de retrouver deux fichiers de nom distincts mais de contenus > > identiques, on pourrait s'inspirer de ccache https://ccache.dev/ comme de > > https://www.softwareheritage.org/ > > > > Ou envisager de construire une base de données (peut-être avec Redis ou > > sqlite) > > qui stocke des métadonnées dont une signature (md5sum ou sha512) du contenu > > de > > chaque fichier (préalablement balayé, par exemple toutes les heures, par un > > démon lancé par crontab). > > > > Le problème posé me parait toutefois insoluble en toute rigueur sur un > > Linux, > > car deux processus différents peuvent accéder à (voire modifier) un même > > fichier > > simultanément. > > > > Sans verrouillage explicite et volontaire par des appels systèmes tels que > > https://man7.org/linux/man-pages/man3/lockf.3.html ou > > https://man7.org/linux/man-pages/man2/flock.2.html ou > > https://man7.org/linux/man-pages/man3/flockfile.3.html ou > > https://man7.org/linux/man-pages/man2/mlock.2.html le comportement n'est pas > > prévisible ni même défini. > > > > C'est déjà compliqué sur un système de fichier local (voir > > https://man7.org/linux/man-pages/man7/inode.7.html comme ext4 ou xfs) et > > encore > > plus compliqué sur un système de fichier distant (NFS). > > > > D'ailleurs les SGBD comme les versionneurs existent aussi pour ça. > > > > Voyez aussi http://projects.camlcity.org/projects/omake.html qui pourrait > > avoir > > du code convenable (à compléter). > > > > En fait je crois que le problème est insoluble si on cherche une solution > > robuste et générale. > > > > Librement > > > -- Bertrand ORVOINE

