Re : Re: Outils de comparaison de fichier à deux panneaux
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 <bertrand.orvoine@univ-ubs.fr>
À: debian-user-french@lists.debian.org
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
Reply to: