O bien está hablando de un FUSE
sistema de archivos (sistema de archivos en el espacio de usuario, Linus los llama juguetes ) o un núcleo compilado personalizado O squashfs. Squash
no es exactamente como lo describe, no puede simplemente montar un tarball, por ejemplo, no con el VFS compatible con el núcleo, pero ciertamente puede tener mksquash
cualquier cantidad de archivos o directorios y montar el archivo resultante de solo lectura. Tienes la opción de xz, lzma, or gz
compresión. Squash
se usa todo el tiempo; si alguna vez ha usado una imagen de Linux en vivo, las posibilidades son muy buenas, erasquashed.
Te diré un truco que uso con el que squashfs.
me gusta crear un btrfs
archivo de imagen y usarlo btrfstune -S 1
para convertirlo en un seed
volumen . Luego puse esa imagen en un squashfs
archivo. A partir de ahí lo que pueda mount -o loop
al image.sfs
y desde dentro que mount -o loop
la btrfs
imagen.
El btrfs seed
volumen inicialmente se montará como read-only
, lo cual es de esperar teniendo en cuenta que está contenido dentro de un squashed
montaje de bucle. Pero si luego lo hago:
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"
De repente, aprovecho btrfs
la copy-on-write
funcionalidad y la compresión automática de escritura Y squashfs
la compresión superior, todo en RAM Y en el núcleo.