Ви або говорите про FUSEфайлову систему (файлова система в просторі користувачів - Лінус називає їх іграшками ), або призначене для користувача скомпільоване ядро АБО squashfs. Squashне зовсім так, як ви описуєте - ви не можете просто встановити, наприклад, тарбол - не з підтримкою VFS ядра, все одно - але ви, безумовно, можете mksquashбудь-яку кількість файлів або каталогів і змонтувати отриманий архів лише для читання. У вас є вибір xz, lzma, or gzстиснення. Squashвикористовується весь час - якщо ви коли-небудь використовували живе зображення linux, шанси дуже хороші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 переважного стиснення все в оперативній пам'яті і в ядрі.