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