คุณกำลังพูดถึงFUSEระบบไฟล์(ระบบไฟล์ใน userspace - Linus เรียกพวกเขาว่าของเล่น )หรือเคอร์เนลที่คอมไพล์ที่กำหนดเองหรือsquashfs. Squashไม่ตรงตามที่คุณอธิบาย - คุณไม่สามารถเมาท์ tarball ได้เช่น - ไม่ใช่กับเคอร์เนลที่รองรับ 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 s การบีบอัดที่เหนือกว่าทั้งหมดในแรมและในเคอร์เนล