आप या तो एक FUSEफाइलसिस्टम के बारे में बात कर रहे हैं (यूजर्सस्पेस में फाइल सिस्टम - लाइनस उन्हें खिलौने कहता है ) या एक कस्टम संकलित कर्नेल या squashfs. Squashजैसा कि आप वर्णन करते हैं वैसा नहीं है - आप उदाहरण के लिए बस एक टारबॉल माउंट नहीं कर सकते हैं - कर्नेल समर्थित VFS के साथ नहीं, वैसे भी - लेकिन आप निश्चित रूप mksquashसे फ़ाइलों या निर्देशिकाओं की संख्या और परिणामी संग्रह को केवल पढ़ने के लिए माउंट कर सकते हैं । आपके पास xz, lzma, or gzसंपीड़न का विकल्प है । Squashसभी समय का उपयोग किया जाता है - यदि आपने कभी लाइव लिनक्स छवि का उपयोग किया है तो यह बहुत अच्छा थाsquashed.
मैं आपको एक चाल बताऊंगा जिसका उपयोग squashfs.मैं एक btrfsछवि फ़ाइल बनाने के लिए करता हूं और btrfstune -S 1इसे एक seedवॉल्यूम बनाने के लिए उपयोग करता हूं । मैंने उस छवि को एक squashfsसंग्रह में रखा । वहाँ मैं से और भीतर से छवि। mount -o loopimage.sfsmount -o loopbtrfs
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 रैम और इन-कर्नेल सभी में बेहतर संपीड़न ।