Pour identifier les doublons, fdupes effectue une comparaison de taille et de signature MD5 de chaque fichier, et ensuite une comparaison octet par octet est effectuée.
C'est effectivement un cas de figure qui revient fréquemment sur le devant de la scène, UNIX propose d'ailleurs des liens durs pratiquement depuis le début (surtout à une époque où l'espace disque coûtait cher). Et il m'arrive régulièrement de faire ce genre de stats.
Du coup, il me vient idée à l'esprit : puisque les comparaisons de fichiers et le contrôle de leur somme (notamment avec Git), qui implique de les lire linéairement en une fois mais en entier, sont des choses récurrentes, serait-il envisageable d'intégrer cette fonctionnalité directement au système de fichier ? Et si oui, existe-t-il déjà des FS qui le fassent ?
Le stockage sur disque implique déjà l'usage de CRC à très bas niveau (hardware et juste au dessus). Étant donné que les fonction de hachage comme MD5, SHA1, etc. sont de taille fixe et sont faites pour être faciles à calculer, c'est quelque chose que l'on pourrait envisager d'intégrer dans les inodes et que l'on récupérerait ensuite avec stat().
# fdupesfs ?
Posté par Obsidian . En réponse au journal fdupes : un utilitaire pour gagner de la place sur son disque dur. Évalué à 3.
C'est effectivement un cas de figure qui revient fréquemment sur le devant de la scène, UNIX propose d'ailleurs des liens durs pratiquement depuis le début (surtout à une époque où l'espace disque coûtait cher). Et il m'arrive régulièrement de faire ce genre de stats.
Du coup, il me vient idée à l'esprit : puisque les comparaisons de fichiers et le contrôle de leur somme (notamment avec Git), qui implique de les lire linéairement en une fois mais en entier, sont des choses récurrentes, serait-il envisageable d'intégrer cette fonctionnalité directement au système de fichier ? Et si oui, existe-t-il déjà des FS qui le fassent ?
Le stockage sur disque implique déjà l'usage de CRC à très bas niveau (hardware et juste au dessus). Étant donné que les fonction de hachage comme MD5, SHA1, etc. sont de taille fixe et sont faites pour être faciles à calculer, c'est quelque chose que l'on pourrait envisager d'intégrer dans les inodes et que l'on récupérerait ensuite avec stat().