Pour commencer

Fichiers en double sur Mac : pourquoi les clones APFS changent le calcul

Sur APFS, les copies du Finder sont souvent des clones : les supprimer ne libère presque rien. Comment trouver les vrais doublons sans risque.

6 min de lecturePar l’équipe MoreRoom, Yando Pte. Ltd.Cette page en Markdown

En bref

  • Sur APFS, Dupliquer dans le Finder et les copies au sein d’un même volume créent des clones qui partagent les blocs de données de l’original au lieu de les copier.
  • Supprimer un clone ne libère presque rien tant que l’autre copie existe, car les blocs partagés restent utilisés.
  • Les outils de recherche de doublons comparent les contenus, pas les blocs : ils peuvent annoncer des gigaoctets d’économies qui n’apparaîtront jamais sur votre disque.
  • Confirmez les vrais doublons avec une somme de contrôle comme shasum -a 256, et gardez la copie que les apps et les bibliothèques utilisent réellement.
  • Ne retirez jamais à la main des doublons à l’intérieur d’une photothèque Photos ou d’un paquet d’app ; utilisez plutôt l’album Doublons de Photos.

Comment trouver et supprimer sans risque les vrais fichiers en double sur un Mac

  1. Chercher d’abord les gros candidats. Dans le Finder, choisissez Fichier › Nouveau dossier intelligent, ajoutez la règle Taille du fichier est supérieure à 500 Mo, puis triez par nom ou par taille pour repérer les paires probables.
  2. Confirmer que les contenus sont identiques. Exécutez shasum -a 256 sur les deux fichiers dans Terminal. Des sommes identiques signifient des contenus identiques ; des sommes différentes signifient que ce ne sont pas des doublons.
  3. Vérifier s’ils sont sur le même volume. Des copies faites sur le même volume APFS peuvent être des clones. En supprimer une peut ne libérer que peu ou pas d’espace : vérifiez l’espace libre avant et après.
  4. Garder la copie utilisée. Gardez celle qui se trouve dans le projet, la bibliothèque ou le dossier qu’une app utilise. Placez l’autre dans la corbeille, jamais des fichiers situés dans des paquets comme les photothèques Photos.
  5. Vérifier le résultat, puis vider la corbeille. Notez l’espace libre dans Utilitaire de disque, videz la corbeille et comparez. Si rien n’a changé, les fichiers étaient des clones et les supprimer n’a rien rapporté.

Sur APFS, le format du disque de démarrage de tous les Mac actuels, un « doublon » n’en est souvent pas un. Quand vous choisissez Fichier › Dupliquer (Commande + D) dans le Finder, ou copiez un fichier dans un autre dossier du même volume, macOS crée généralement un clone : un second fichier qui pointe vers les mêmes blocs de données que le premier. Il n’occupe presque pas d’espace supplémentaire ; le supprimer ne rend donc presque rien.

Comment fonctionnent les clones APFS

Un clone est un nouveau fichier dont le contenu n’est pas copié. Les deux fichiers pointent vers les mêmes blocs sur le disque. Ce n’est que lorsque l’un d’eux est modifié qu’APFS écrit de nouveaux blocs pour les parties changées, une technique appelée copie sur écriture (copy-on-write). Les parties inchangées restent partagées.

Une copie complète écrit chaque bloc deux fois ; un clone partage les blocs de l’original ; après une modification, seuls les blocs modifiés sont nouveaux

macOS crée des clones quand :

  • Vous utilisez Dupliquer ou copiez (glisser avec Option) au sein du même volume APFS dans le Finder.
  • Une app copie des fichiers avec les fonctions de copie standard du système, ce que font beaucoup d’apps.
  • Vous utilisez cp -c dans Terminal. Un simple cp écrit une copie complète.
cp -c "Big Video.mov" "Big Video copy.mov"   # clone : partage les données, presque pas d’espace en plus
cp "Big Video.mov" "Big Video copy.mov"      # copie complète : réécrit toutes les données

Les copies vers un autre volume, un disque externe ou un partage réseau sont toujours des copies complètes. Comme l’explique Howard Oakley, les clones perdent aussi leur partage lorsqu’ils sont restaurés depuis une sauvegarde Time Machine : chacun revient sous forme de fichier distinct.

Pourquoi supprimer un clone ne libère presque rien

L’espace ne revient que lorsque le dernier fichier qui utilise un bloc est supprimé, et qu’aucun instantané local ne le retient encore. Avec une paire de clones, supprimer l’un laisse chaque bloc partagé utilisé par l’autre : vous récupérez quelques kilo-octets de métadonnées du système de fichiers. Nous l’avons testé : cloner un fichier de 200 Mo a réduit l’espace libre d’environ 4 Ko, et une copie classique l’a réduit de 200 Mo.

Les clones partiellement modifiés se situent entre les deux. Si vous avez cloné une vidéo de 10 Go puis raccourci l’une des copies, les blocs qui diffèrent n’appartiennent qu’à un seul fichier ; supprimer ce fichier libère ces blocs et rien d’autre.

Pourquoi les outils de recherche de doublons peuvent surestimer les économies

Les outils de recherche de doublons comparent le contenu des fichiers, généralement avec une somme de contrôle. Un clone a exactement le même contenu que son original : il est donc signalé comme doublon, et sa taille complète est ajoutée au total « vous pourriez économiser ». Sur un Mac qui compte beaucoup de clones, ce total peut être surévalué de plusieurs gigaoctets.

Le même angle mort explique pourquoi certains outils ne sont pas d’accord entre eux. Lire les informations dans le Finder et du additionnent la taille de chaque fichier séparément : un dossier contenant trois clones d’un fichier de 1 Go semble donc peser 3 Go. C’est l’espace libre du volume, affiché dans Utilitaire de disque, qui change réellement.

Si vous avez beaucoup de vraies copies, la meilleure solution est souvent de les convertir en clones plutôt que de les supprimer, pour que tous les chemins continuent de fonctionner. C’est ce que font des outils comme Hyperspace, de John Siracusa.

Taille logique et taille allouée

Chaque fichier a deux tailles :

  • La taille logique : le nombre d’octets qu’il contient. ls -l et la colonne Taille du Finder l’affichent.
  • La taille allouée : l’espace disque qu’il occupe. La valeur « sur disque » du Finder et du l’affichent.

Elles diffèrent pour les clones (blocs partagés), pour les fichiers épars comme les images disque et les machines virtuelles (les zones jamais écrites ne prennent pas de place), pour les fichiers compressés par APFS et pour les fichiers cloud dont vous avez supprimé le téléchargement. Voir taille logique et taille physique pour en savoir plus.

ls -lh "Big Video.mov"   # taille logique
du -h "Big Video.mov"    # taille allouée, comptée comme si rien n’était partagé

Comment trouver les vrais doublons sans risque

Commencez par les gros fichiers. Les petits doublons comptent rarement. Dans le Finder, choisissez Fichier › Nouveau dossier intelligent, cliquez sur +, réglez Taille du fichier › est supérieure à › 500 Mo (choisissez Autre… dans le premier menu si Taille du fichier n’apparaît pas), puis passez en présentation par liste triée par nom. Les noms et tailles identiques sont vos candidats.

Confirmez avec une somme de contrôle. shasum est fourni avec macOS et se contente de lire les fichiers :

shasum -a 256 ~/Movies/"Trip.mov" ~/Desktop/"Trip copy.mov"

Si les longues chaînes hexadécimales sont identiques, les contenus le sont aussi. Pour chercher des correspondances dans tout un dossier de gros fichiers :

find ~/Movies -type f -size +100M -print0 | xargs -0 shasum -a 256 \
  | awk '{n[$1]++; l[$1]=l[$1] $0 "\n"} END {for (h in n) if (n[h]>1) print l[h]}'

Cette commande affiche les groupes de fichiers ayant la même somme de contrôle. Elle ne supprime rien. Une somme identique ne vous dit pas si les fichiers sont des clones : considérez l’espace comme « peut-être récupérable ».

Utilisez un outil réputé si vous préférez. dupeGuru, open source, et des apps commerciales connues font l’affaire, à condition de vérifier chaque groupe, d’exclure les bibliothèques et les dossiers système, et de considérer leurs chiffres d’économies comme un maximum.

Une démarche sûre pour les doublons : confirmer qu’ils sont identiques, vérifier qu’ils ne sont pas dans une bibliothèque ou une app, garder la copie utilisée, puis comparer l’espace libre

Le risque de supprimer la « mauvaise » copie

Un contenu identique ne signifie pas que les copies sont interchangeables.

  • Les photothèques Photos. Ne supprimez jamais de fichiers à l’intérieur d’un paquet .photoslibrary dans le Finder : la base de données de la photothèque les attend toujours et peut être endommagée. Depuis macOS Ventura, Photos propose un album Doublons sous Utilitaires qui fusionne correctement les doublons. Les éléments supprimés attendent dans Supprimés récemment.
  • Les bibliothèques de Musique, Final Cut Pro, Lightroom et apps similaires référencent les fichiers par leur chemin. Retirer le « doublon » vers lequel pointe une bibliothèque laisse un fichier manquant.
  • Les paquets d’apps. Beaucoup d’apps embarquent des frameworks identiques. Supprimer quoi que ce soit dans une .app casse sa signature de code et peut l’empêcher de s’ouvrir. Désinstallez plutôt l’app entière ; voir comment désinstaller complètement une app sur Mac.
  • Les projets et le code. Un fichier dans un dossier de projet est référencé par les builds et les scripts ; c’est généralement la copie sur votre Bureau qu’il faut retirer.
  • Les sauvegardes. Une seconde copie volontaire sur un autre disque est une sauvegarde, pas un doublon.

En cas de doute, gardez la copie qui se trouve là où une app l’attend, et placez l’autre dans la corbeille pour pouvoir la remettre en place.

Comment MoreRoom peut vous aider

Libérer sans supprimer, dans MoreRoom, trouve gratuitement les fichiers identiques de 1 Mo ou plus. Avec Pro, il transforme les copies supplémentaires en clones APFS, comme la commande Dupliquer du Finder : chaque copie reste à sa place, avec son nom, ses dates et ses tags, mais les données ne sont stockées qu’une fois, et rien n’est supprimé. Chaque fichier est revérifié juste avant, et si vous modifiez une copie plus tard, elle retrouve simplement son propre espace. MoreRoom mesure aussi votre disque honnêtement : lors du scan, les données clonées sont comptées une seule fois, si bien que ses totaux et son treemap ne sont pas gonflés par les clones comme le sont les tailles fichier par fichier. Ses règles signalent en outre des copies courantes à vérifier, comme les anciennes images disque laissées dans Téléchargements. Tout ce que vous retirez va d’abord dans la corbeille, avec Annuler. Pour les doublons dans Photos, utilisez l’album Doublons de Photos.

Questions fréquentes

Dupliquer un fichier dans le Finder double-t-il l’espace qu’il occupe ?

Pas sur APFS. Dupliquer (Commande + D) dans le Finder et les copies au sein d’un même volume APFS créent des clones qui partagent les mêmes données : la copie n’occupe presque pas d’espace supplémentaire tant que l’un des deux fichiers n’est pas modifié.

Comment savoir si un fichier est un clone ?

Le Finder ne l’indique pas, et les deux copies affichent leur taille complète. Le test pratique consiste à noter l’espace libre, supprimer une copie, vider la corbeille et voir si l’espace libre augmente.

Pourquoi supprimer des doublons n’a-t-il libéré aucun espace ?

Les fichiers étaient probablement des clones ou des liens physiques partageant les mêmes données. L’espace ne revient que lorsque le dernier fichier utilisant ces blocs est supprimé.

Peut-on utiliser un outil de recherche de doublons sans risque ?

Les outils réputés le sont, à condition de vérifier chaque correspondance. Excluez les bibliothèques Photos et Musique, les paquets d’apps et les dossiers système, et gardez à l’esprit que leurs estimations d’économies peuvent compter les clones en trop.

MoreRoom trouve-t-il les fichiers en double ?

Oui, depuis la version 0.2.1. Libérer sans supprimer trouve gratuitement les fichiers identiques de 1 Mo ou plus ; avec Pro, il transforme les copies supplémentaires en clones APFS : chaque fichier reste à sa place, mais les données ne sont stockées qu’une fois. Rien n’est supprimé.

Dossiers cités dans ce guide