Saya bertanya-tanya apakah ini mungkin. Saya ingin mengatur sistem linux yang memasang /
mesin linux jarak jauh ke /
mesin lokal. Namun, saya ingin semua perubahan pada mesin lokal disimpan ke ram sehingga tidak mempengaruhi mesin jarak jauh. Idealnya perubahan tidak akan pernah ditulis, sehingga ketika saya reboot, itu me-mount /
partisi asli lagi mengabaikan semua perubahan yang dibuat selama sesi sebelumnya.
Apakah hal seperti itu mungkin?
Jawaban:
Gunakan unionfs , aufs (keduanya merupakan tambalan eksternal untuk kernel) atau unionfsfuse / funionfs (menggunakan FUSE) dan ciptakan penyatuan dengan menandai eksternal / sebagai RO dan sistem file internal (dipasang sebagai tmpfs / ramfs / partisi tambahan yang dibersihkan setiap kali).
Atau Anda dapat menggunakan filesystem atau LVM dengan snapshot. Kemudian perubahan ditulis tetapi Anda dapat membersihkan foto di setiap boot.
sumber
Ada beberapa cara untuk melakukannya. Pengaturan termudah akan menggunakan sistem file gabungan, yang menyajikan tampilan tunggal dari dua pohon direktori A dan B, sehingga semua perubahan disimpan ke B. Dalam kasus Anda, A akan menjadi titik mount NFS / Samba / sshfs /… mount, dan B akan menjadi direktori yang awalnya kosong pada sistem file tmpfs.
Linux tidak memiliki filesystem in-kernel union, tetapi ada beberapa implementasi FUSE : funionfs , Unionfs-fuse .
sumber
Jika / cocok dengan RAM mesin lokal dan menyisakan ruang yang cukup untuk menjalankan aplikasi, ide dasarnya mungkin akan mem-boot sistem Linux minimal pada mesin target dan kemudian secara otomatis membuat ramfs virtual disk, menyalin / dari jarak jauh ke dalamnya dan chroot ke ini baru /. Jika RAM tidak mencukupi, pada dasarnya Anda dapat mengikuti prosedur yang sama tetapi tidak menggunakan ramf tetapi partisi disk nyata yang isinya harus Anda hapus sebelum menyalin. Alih-alih menghapus dan menyalin lengkap Anda juga bisa menggunakan rsync dengan opsi yang sesuai.
sumber
Anda dapat menggunakan
Btrfs
fitur Copy-on-Write (CoW).Yang mungkin Anda cari dijelaskan di Btrfs Wiki sebagai Seed-device :
Ide dasarnya adalah membuat partisi dengan data asli hanya-baca, daripada untuk "menambahkan lapisan tambahan di atasnya", yang merupakan partisi yang dapat ditulisi (Anda selalu dapat membuatnya dalam RAM, mis. Pada
/dev/shm
) dan pasang:dan sejak saat itu, setiap kali Anda mount
perubahan disimpan pada / dev / RW, sementara / dev / RO tetap tidak tersentuh.
(contoh didasarkan pada yang ada di wiki )
sumber
Ini dapat diarsipkan dengan sangat mudah dengan boot PXE. saya menjalankan sistem xbmc langsung di atas pxe tftp nfs boot. perubahan ditulis dengan saham COW ke NFS.
sumber