Quitter le forum et retourner au site

Optimiser son disque dur avec fslint

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 719
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

Optimiser son disque dur avec fslint

Message par le Manchot Masqué »

C'est les vacances, et comme nous sommes les rois de l'organisation (cocoricoooo), nous avons accumulé un tas de photos et de fichiers en doublon (et plus...), dans un tas dossiers parfaitement distincts, et gros problème : notre disque dur arrive au bord de la saturation ! Bonjour la panique ! En fouinant un peu, nous nous apercevons que le fichier nommé maphoto.jpg se retrouve dans le dossier A/, mais aussi dans le B/ et aussi dans le sous-dossier C/D/ sous le nom maphoto2.jpg. Que faire ?

Et bien sous GNU/Linux, la solution est toute simple : c'est le logiciel fslint qu'il faut installer et exécuter sur notre répertoire de photos, via le bouton Rechercher.
Ce dernier va localiser les doublons en se basant sur l'empreinte MD5 des fichiers, en clair : même si la même photo est enregistrée avec plusieurs noms différents, elle sera correctement détectée comme doublon. Fslint affiche ensuite les doublons repérés et demande ce qu'il doit en faire - et là, c'est le drame : quel fichier allons nous garder et lesquels va t'on devoir effacer ? La réponse est simple : on va tous les garder !

Car là arrive toute la magie de GNU/Linux (et surtout celle du système de fichiers ext4) : les "liens durs" (hard links) ! Qu'est ce que c'est encore que ce truc ? Pour le comprendre, il faut rentrer un peu dans la technique. Les fichiers sont enregistrés physiquement sur le disque dur avec un numéro unique nommé inode (comprenez un bête numéro entier à plusieurs chiffres). Si vous avez trois fichiers différents de la même photo, vous aurez donc trois inodes physiques, avec un nom de fichier qui pourra être différent ou identique pour le doublon concerné. Concrètement, vous utilisez donc 2 inodes physiques pour rien, et vous perdez de la place disque en conséquence. (je vous laisse imaginer le gaspillage avec des images ISO de plusieurs Go).

L'astuce de fslint va consister à faire pointer tous les fichiers vers la même inode physique, via le bouton Fusionner : autrement dit, vous gardez tous les noms de fichiers qui existaient, aux mêmes endroits, et vous allez récupérer toute la place disque occupée par les doublons. On retrouvera donc toujours maphoto.jpg dans les dossiers A/, B/ et C/D/, comme avant. En apparence, rien n'aura changé côté utilisateur.

Oui mais alors, que se passe t'il ensuite si l'on supprime maphoto.jpg de A/ par exemple ? Sera t'elle également éliminée de B/ et de C/D/ ? Et bien non : vous retrouverez toujours votre photo dans B/ et C/D/ comme avant : en effaçant le fichier de A/, vous n'avez effacé qu'une référence qui pointait vers l'inode physique, et non l'inode physique elle-même, qui reste référencée dans B/ et C/D/. Tant qu'une inode est référencée quelque part dans le système de fichiers, elle n'est pas effacée. Il faudrait déjà supprimer les références dans B/ et C/D/ pour effacer physiquement l'inode.

Cette simple astuce des "liens durs" permet ainsi de regagner beaucoup de place disque perdue pour rien. C'est d'ailleurs cette même astuce qui permet aux services de stockage en ligne de ne stocker qu'un fichier unique, quand bien même ce dernier est référencé par plusieurs milliers d'utilisateurs du service...

Bref, fslint est très intéressant pour les gros feignasses qui ne veulent pas apprendre à ranger leurs fichiers et structurer leurs dossiers, et s'avère la solution ultime pour tous les adorateurs du chaos et de l’anarchie numérique !

Pour ceux que le sujet intéresse plus en profondeur, les pages de man sur les commandes ln, et l'option -H de rsync, sont la suite logique de ce petit aperçu...
Avatar de l’utilisateur
Ennoia
Messages : 138
Inscription : jeu. 29 mai 2008, 13:09
Distribution : ArchLinux
Niveau : Indépendance et débugage
Localisation : Oberentzen

Re: Optimiser son disque dur avec fslint

Message par Ennoia »

Dans la continuité de ranger ses photos :

Lorsqu'on a des photos partout et qu'on souhaite les rassembler à un même endroit, il existe le logiciel pivot qui permet de classer les photos d'un dossier A vers un dossier B suivant des critères (date par ex).

Sinon, quel est l’intérêt d'avoir une même photo à plusieurs endroits différents ?
On peut ajouter des méta-datas dans une photo (EXIF) comme on le fait pour les MP3s. Plus besoin alors de mettre une même photo dans les dossiers Maman, Colmar et Noël.
Pour cela on peut utiliser Jbrout (voir les posts sur le forum). Malheureusement il est moribond.
Sinon il y a Shotwell (installer par défaut sur les *buntus) qui fait le même boulot.
Must du must, il y a aussi Darktable (disponible dans les dépôts *buntu).
C'est un logiciel de "développement photographique" façon Lightroom (pour ceux qui connaissent) : recadrage, luminosité, sepia, traitement localisé des sur- ou sous-expositions... , insertion de mots clé et aperçu sur une carte de la localisation des photos (si présence de données GPS)
Très complet mais plus difficile à prendre en main.
Répondre