Pertanyaannya mungkin tidak tepat sehingga saya akan mencoba menjelaskannya secara lebih rinci.
Untuk sejumlah alasan saya memiliki banyak salinan dari file yang sama di sistem file Linux saya. Banyak dari mereka cukup besar.
Katakanlah saya punya /path/to/some.file
dan salinan file ini /other/path/file.name
dan /yet/another/path/third.copy
. Saya bertanya-tanya apakah ada sistem file yang benar-benar akan membuat dua file ini bertindak sebagai referensi ke aslinya. Secara alami, jika pengguna memodifikasi salah satunya, maka hanya mereka yang akan menjadi file independen.
PS. Saya tahu ini dapat (sebagian) diselesaikan dengan menggunakan tautan. Tetapi saya ingin fitur ini saya coba jelaskan di atas agar ditangani secara transparan oleh sistem file.
sumber
Jawaban:
Fitur ini disebut deduplikasi . Tidak ada sistem file Linux populer (ext *) yang mendukungnya, tetapi tampaknya, ZFS mendukungnya secara parsial . Ada juga daftar sistem file yang terdaftar, antara lain, deduplikasi, tetapi tampaknya tidak ada pilihan yang populer - ini adalah fitur yang direncanakan untuk Btrfs.
Saya menduga bahwa secara berkala memeriksa sistem file Anda dan membuat tautan keras yang tepat adalah yang terbaik yang dapat Anda lakukan saat ini, walaupun itu tidak menyiratkan copy-on-write.
sumber
Kata kunci utama yang ingin Anda cari adalah "salin saat menulis." BTRFS memang memiliki operasi klon yang melakukan persis apa yang Anda inginkan, dan
cp --reflink
akan melakukan apa yang Anda cari, asalkan sistem Anda memiliki kernel dan coreutils 7.5 yang cukup modern. Sumber Wiki Juga, bedup adalah alat yang akan menggabungkan duplikat di seluruh volume. CoW juga merupakan fitur mengemudi di bawah teknologi snapshotting btrfs, IIRC.sumber
cp --reflink
tetapi perhatikan bahwa saya sebenarnya ingin FS mendeteksi klon dan menggunakan referensi, secara transparan. Saya juga jauh daribedup
alat ini.cp --reflink
/ klon) atau alat terpisah untuk menyelesaikan pekerjaan nanti (bedup).Ada sistem file online S3QL yang dirancang untuk cadangan dengan kapasitas deduplikasi yang besar.
sumber
Zfs, btrfs, ext3cow, bcachefs (afaik, tetapi ada kemungkinan itu belum diimplementasikan). Microsoft memiliki satu dalam pengembangan tetapi mereka berhenti karena alasan yang tidak diketahui.
sumber