Вы либо говорите о FUSEфайловой системе (файловая система в пользовательском пространстве - Линус называет их игрушками ), либо о специально скомпилированном ядре ИЛИ squashfs. Squashне совсем так, как вы описали - вы не можете просто смонтировать tarball, например - не с 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 преимущественного сжатие все в оперативной памяти и в ядре.