Si vous avez l'habitude de multiplier les dossiers de photos partout et n'importe comment, et que vous avez donc toutes les raisons de penser que de nombreuses photos et vidéos s'y retrouvent en de multiples exemplaires, alors vous aurez peut-être envie d'utiliser la commande hardlink !
hardlink -s 1M leDossier
Le dossier sera parcouru de manière récursive et les fichiers de taille identiques seront comparés. Si un ou plusieurs fichiers sont identique, alors il n'en sera gardé qu'un pour autant de liens matériels et l'on gagnera autant (-1) de fois la place sur le disque (ou autre support).
J'utilise régulièrement hardlink, surtout pour mes sauvegardes.
Ma question est, comment défaire ce que hardlink à pu faire ?
PS: sachant que je n'ai pas la place pour faire une copie de l'ensemble du dossier ;)
Comment obtenir que tous les liens machines soient transformés en autant de fichiers indépendants ?
Par exemple, dans la commande donnée ci-dessus en exemple, je limite à 1 Mio la taille minimum que les fichiers doivent avoir pour être considérés par hardlink. Mais il se pourrait que dans la précipitation j'ai oublié cette option. Des petits fichiers aurons alors été "fusionnés" alors qu'il ne devrait pas l'être :(
Merci d'avance.
# cp -a && mv -f
Posté par wismerhill . Évalué à 4.
Tu copie (cp -a, pour préserver les méta-données) avec un nom temporaire le fichier que tu veux re-dupliquer, puis tu fais un mv -f du nom temporaire vers le nom d'origine pour "défaire" le lien physique.
Combine ça avec find pour trouver tous les fichiers ayant plus d'un lien physique (et d'autres critères à ta convenance).
# Merci
Posté par showtime . Évalué à 1.
Tu viens de me faire gagner un temps fou. Merci.
# Question
Posté par showtime . Évalué à 2.
Comment la commande hardlink vérifie-t-elle que 2 fichiers sont identiques (après avoir vérifié la taille) ?
Avec des sommes de contrôle ?
Lesquelles ?
[^] # Re: Question
Posté par Cyril Brulebois (site web personnel) . Évalué à 1.
Je pense que regarder les sources de
hardlink
était plus rapide que poser la question. La réponse est dans la fonctionfile_contents_equal
.;p
Debian Consultant @ DEBAMAX
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.