आप या तो एक FUSE
फाइलसिस्टम के बारे में बात कर रहे हैं (यूजर्सस्पेस में फाइल सिस्टम - लाइनस उन्हें खिलौने कहता है ) या एक कस्टम संकलित कर्नेल या squashfs. Squash
जैसा कि आप वर्णन करते हैं वैसा नहीं है - आप उदाहरण के लिए बस एक टारबॉल माउंट नहीं कर सकते हैं - कर्नेल समर्थित VFS के साथ नहीं, वैसे भी - लेकिन आप निश्चित रूप mksquash
से फ़ाइलों या निर्देशिकाओं की संख्या और परिणामी संग्रह को केवल पढ़ने के लिए माउंट कर सकते हैं । आपके पास xz, lzma, or gz
संपीड़न का विकल्प है । Squash
सभी समय का उपयोग किया जाता है - यदि आपने कभी लाइव लिनक्स छवि का उपयोग किया है तो यह बहुत अच्छा थाsquashed.
मैं आपको एक चाल बताऊंगा जिसका उपयोग squashfs.
मैं एक btrfs
छवि फ़ाइल बनाने के लिए करता हूं और btrfstune -S 1
इसे एक seed
वॉल्यूम बनाने के लिए उपयोग करता हूं । मैंने उस छवि को एक squashfs
संग्रह में रखा । वहाँ मैं से और भीतर से छवि। mount -o loop
image.sfs
mount -o loop
btrfs
btrfs seed
मात्रा शुरू में के रूप में माउंट होगा read-only
यह देखते हुए कि यह एक के भीतर निहित है उम्मीद की जा करने के लिए है जो - squashed
पाश माउंट। लेकिन अगर मैं करता हूँ:
GB_tmp_loop=$(
fallocate -l $((1024*1024*1024)) /tmp/1GB_tmp.img &&
losetup -f --show $_
)
btrfs device add "$GB_tmp_loop" "${btrfs_seed=/path/to/btrfs_image_mount}"
umount "$btrfs_seed"
mount -o compress-force=lzo,autodefrag,rw "$GB_tmp_loop" "$btrfs_seed"
अचानक मैं btrfs
एस copy-on-write
कार्यक्षमता का लाभ उठा रहा हूं और स्वचालित लेखन संपीड़न और squashfs
रैम और इन-कर्नेल सभी में बेहतर संपीड़न ।