Saya sedang memikirkan situasi di mana saya akan memiliki sesuatu yang membuat salinan direktori, tweak beberapa file, dan kemudian melakukan beberapa pemrosesan pada hasilnya. Ini akan dilakukan cukup sering, mungkin beberapa lusin kali sehari. (Kasus penggunaan yang tepat adalah menguji pengiriman tambalan; duplikat kode, tambal itu, build / test / laporan / dll.)
Apa yang saya cari bisa dilakukan dengan membuat struktur direktori baru dan mengisinya dengan tautan keras dari aslinya. Namun ini hanya berfungsi jika semua alat yang Anda gunakan menghapus dan membuat ulang file alih-alih mengeditnya.
Apakah ada cara agar sistem file melakukan copy-on-write untuk file?
Catatan: Saya sadar bahwa banyak FS menggunakan COW pada level blok (semua pembaruan dilakukan melalui penulisan ke blok baru) tetapi ini bukan yang saya inginkan.
cp
danln
melakukan hal yang persis sama. Block-level COW adalah trik untuk meminimalkan interval bahwa data meta FS salah: en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_modelJawaban:
Jika Anda memiliki platform pilihan untuk server file Anda, saya akan menggunakan OpenSolaris build baru-baru ini dan menggunakan fitur deduplikasi ZFS. Dengan cara ini, salinan file tidak membutuhkan ruang tambahan, dan bahkan segmen umum di antara file tidak akan direplikasi.
Anda dapat membaca semua tentang deduplikasi ZFS di posting ini di Blog Jeff Bonwick .
sumber
Sebagian besar solusi virtualisasi linux menawarkan COW tingkat file di antara OS tervirtualisasi (disalin dari WP):
sumber
Mungkin SVN atau alat versi lain (git, cvs)?
sumber