Existe-t-il un moyen d'utiliser la fonction de clonage de copie sur écriture d'APFS pour récupérer de l'espace à partir de fichiers en double existants?
Lorsque vous copiez un fichier sur APFS, il ne duplique pas réellement les blocs de fichiers, mais clone simplement les métadonnées. Cela l'empêche d'utiliser plus d'espace jusqu'à ce que vous apportiez une modification au fichier en double. Il semble qu'il devrait y avoir un outil pour trouver les doublons existants et les remplacer par des clones, en récupérant l'espace utilisé pour stocker le doublon.
Les questions connexes sur les communautés Apple et les forums MacRumors n'ont rien.
Réponses:
Il existe des scripts open source de qualité alpha qui tentent de le faire - https://github.com/ranvel/clonefile-dedup
la source
cp -c
, ce qui supprime toutes les métadonnées du fichier d'origine (propriétaire, autorisation, attributs étendus, etc.). Et il n'y a aucune raison pour laquelle cela ne pourrait pas être fait avec un script shell, appelantsqlite3
directement - à la place, vous devez installer Python 3, ce qui signifie ses limites pour les non-administrateurs qui ne peuvent pas modifier les paramètres pour exécuter unsigned / non- Code signé App-Store.J'ai eu le même problème et a écrit un petit script shell pour le faire en utilisant native
cp
,mv
,jdupes
(pour la vitesse), etgcp
(pour la conservation des métadonnées). J'espère que cela t'aides!Avantage sur les autres solutions:
la source
Voir aussi https://github.com/deckarep/apfs-compactor , qui n'est également qu'un prototype.
la source
Consultez diskDedupe http://www.diskdedupe.com Il fait exactement ce que vous recherchez.
Il n'a que deux boutons (numérisation et déduplication) et conserve toutes les métadonnées, lors du remplacement d'un doublon par un clone de l'original.
Je l'ai utilisé sur toutes mes archives.
la source