Gibt es eine Möglichkeit, die Copy-on-Write-Klonfunktion von APFS zu verwenden, um Speicherplatz aus vorhandenen doppelten Dateien zurückzugewinnen?
Wenn Sie eine Datei in APFS kopieren, werden die Dateiblöcke nicht dupliziert, sondern nur die Metadaten geklont. Dadurch wird verhindert, dass mehr Speicherplatz verwendet wird, bis Sie die doppelte Datei tatsächlich bearbeiten. Es scheint, dass es ein Tool geben sollte, mit dem vorhandene Duplikate gefunden und durch Klone ersetzt werden können, um den zum Speichern des Duplikats verwendeten Speicherplatz zurückzugewinnen.
Verwandte Fragen zu Apple Communities und den MacRumors-Foren haben nichts.
Antworten:
Es gibt einige Open Source-Skripte in Alpha-Qualität, die dies versuchen - https://github.com/ranvel/clonefile-dedup
quelle
cp -c
, wodurch alle Metadaten der Ursprungsdatei (Eigentümer, Berechtigung, erweiterte Attribute usw.) verworfen werden. Und es gibt keinen Grund, warum dies nicht einfach mit einem Shell-Skript möglich ist, dassqlite3
direkt aufruft. Stattdessen müssen Sie Python 3 installieren. Dies bedeutet, dass es für Nicht-Administratoren verboten ist, die Einstellungen nicht ändern können, um unsigned / non- auszuführen. Signierter Code im App-Store.Ich hatte das gleiche Problem und schrieb einen kleinen Shell - Skript , dies zu tun mit nativen
cp
,mv
,jdupes
(für Geschwindigkeit) undgcp
(für Metadaten Erhaltung). Hoffe das hilft!Vorteil gegenüber anderen Lösungen:
quelle
Siehe auch https://github.com/deckarep/apfs-compactor , das ebenfalls nur ein Prototyp ist.
quelle
Schauen Sie sich diskDedupe an http://www.diskdedupe.com Es macht genau das, was Sie suchen.
Es hat nur zwei Schaltflächen (Scannen und Deduplizieren) und verwaltet alle Metadaten, wenn ein Duplikat durch einen Klon des Originals ersetzt wird.
Ich habe es in allen meinen Archiven verwendet.
quelle