Apakah ada cara untuk menggunakan fitur kloning copy-on-write dari APFS untuk mendapatkan kembali ruang dari file duplikat yang ada?
Ketika Anda menyalin file di APFS, itu sebenarnya tidak menduplikasi blok file, melainkan hanya mengkloning metadata. Itu mencegahnya menggunakan lebih banyak ruang sampai Anda benar-benar mengedit file duplikat. Sepertinya harus ada beberapa alat untuk menemukan duplikat yang ada dan menggantinya dengan klon, merebut kembali ruang yang digunakan untuk menyimpan duplikat.
Pertanyaan terkait tentang Komunitas Apple dan Forum MacRumors tidak memiliki apa pun.
Jawaban:
Ada beberapa skrip open source berkualitas alpha yang mencoba melakukan ini - https://github.com/ranvel/clonefile-dedup
sumber
cp -c
, yang membuang semua metadata dari file asal (pemilik, izin, atribut tambahan, dll.). Dan tidak ada alasan itu tidak bisa hanya dilakukan dengan skrip shell, meneleponsqlite3
langsung — sebagai gantinya, Anda harus menginstal Python 3, yang berarti terlarang bagi non-admin yang tidak dapat mengubah pengaturan untuk menjalankan unsigned / non- Kode yang ditandatangani App-Store.Saya memiliki masalah yang sama dan menulis sebuah shell script kecil untuk melakukan hal ini menggunakan native
cp
,mv
,jdupes
(untuk kecepatan), dangcp
(untuk pelestarian metadata). Semoga ini membantu!Keuntungan dibandingkan solusi lain:
sumber
Lihat juga https://github.com/deckarep/apfs-compactor , yang juga merupakan prototipe.
sumber
Lihat diskDedupe http://www.diskdedupe.com Ia melakukan persis apa yang Anda cari.
Itu hanya memiliki dua tombol (scan dan deduplicate) dan mempertahankan semua metadata, ketika mengganti duplikat dengan klon yang asli.
Saya menggunakannya di semua arsip saya.
sumber