Mówisz o FUSE
systemie plików (system plików w przestrzeni użytkownika - Linus nazywa je zabawkami ) lub niestandardowe skompilowane jądro LUB squashfs. Squash
nie jest dokładnie takie, jak to opisujesz - nie możesz po prostu zamontować tarballa - nie z VFS obsługiwanym przez jądro - ale możesz z pewnością mksquash
dowolną liczbę plików lub katalogów i zamontować powstałe archiwum tylko do odczytu. Masz wybór xz, lzma, or gz
kompresji. Squash
jest używany przez cały czas - jeśli kiedykolwiek używałeś linuksowego obrazu na żywo, szanse są bardzo dużesquashed.
Powiem ci jedną sztuczkę, której używam squashfs.
, lubię utworzyć btrfs
plik obrazu i użyć btrfstune -S 1
go, aby był seed
woluminem . Następnie umieściłem ten obraz w squashfs
archiwum. Stamtąd mogę i od wewnątrz, że na obrazie. mount -o loop
image.sfs
mount -o loop
btrfs
btrfs seed
Objętość początkowo będzie montować jako read-only
- co należy się spodziewać biorąc pod uwagę, że jest to zawarte w squashed
pętli Górze. Ale jeśli to zrobię:
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"
Nagle Biorę wykorzystać btrfs
ów copy-on-write
funkcjonalności i kompresji automatycznego zapisu I squashfs
przełożonego kompresji wszystko w pamięci RAM I w jądro.