Saya tidak memiliki pengalaman dengan btrfs, tetapi diiklankan untuk dapat
menghapus duplikat file.
Dalam aplikasi saya, saya perlu menduplikasi seluruh pohon direktori.
Dari apa yang saya pelajari, btrfs hanya menghapus duplikat di beberapa pemindaian pos, tidak
segera. Bahkan hanya menggunakan cp
tampaknya tidak memicu
de-duplikasi (setidaknya, df
menunjukkan peningkatan penggunaan disk dalam
ukuran file yang disalin).
Bisakah saya menghindari memindahkan data sama sekali dan memberi tahu btrfs
langsung untuk
menduplikasi file di lokasi lain, pada dasarnya hanya mengkloning
metadatanya?
Intinya, mirip dengan hardlink, tetapi dengan metadata independen
(izin, mod. times, …).
Jawaban yang Diterima:
Ada dua opsi:
cp --reflink=always
cp --reflink=auto
Yang kedua hampir selalu lebih disukai daripada yang pertama. Menggunakan auto
berarti itu akan mundur untuk melakukan salinan yang benar jika sistem file tidak mendukung tautan ulang (misalnya, ext4 atau menyalin ke bagian NFS). Dengan opsi pertama, saya cukup yakin itu akan langsung gagal dan berhenti menyalin.
Jika Anda menggunakan ini sebagai bagian dari skrip yang harus kuat dalam menghadapi kondisi yang tidak ideal, auto
akan melayani Anda lebih baik.