Como sugerido, você pode usar uma combinação de squashfs (para compactação) e AUFS (para empilhar e mesclar camadas do sistema de arquivos juntas). Onde AUFS representa ainda outro sistema de arquivos da União. Mas como isso é implementado? Eu ofereço aqui um script de exemplo simples para implementar o squashfs / aufs ...
Mas primeiro, eu acho que aufs é suportado para o kernel da Debian, mas não para o Ubuntu :-( Assim, desde que sua distro seja apropriada para o Debian, podemos instalar algumas ferramentas básicas, assim
apt-get install squashfs-tools aufs-tools
E agora para os comandos. O comando mksquashfs é usado para compactar diretório (s) em módulos compactados. Dois módulos squashfs são criados aqui e montados para tornar seus arquivos acessíveis. Em seguida, criamos um aufs, com um ramo gravável, e dois branch readonly (ou seja, o squashfs). As opções fornecidas para o comando mount especificam as ramificações (consulte man aufs). Finalmente, criamos um arquivo, para testar se as mudanças no arquivo realmente são gravadas na camada gravável.
Então, espero que isso seja útil.
#!/bin/bash
# apt-get install squashfs-tools aufs-tools
# The aim:- to create an aufs/squashfs that merges the file contents of /etc and /sbin
mkdir -p temp/{ro1,ro2,changes-dir,aufs-dir} && cd temp
# compress the files of etc and sbin into squashfs modules
# using /etc and /sbin only becos they are handy
mksquashfs /etc etc.sqsh -b 65536
mksquashfs /sbin sbin.sqsh -b 65536
# now mount the squashfs modules to make their files accessible
mount -o ro,loop etc.sqsh ro1
mount -o ro,loop sbin.sqsh ro2
# AUFS is the acronym for Another Union FileSystem
# mount aufs with 3 branches - a writable branch, and two readonly branchs
mount -t aufs -o br:$PWD/changes-dir=rw,br:$PWD/ro1=ro,br:$PWD/ro2=ro none $PWD/aufs-dir
cd aufs-dir
echo " make some file changes here, to prove the aufs filesystem is writable"
touch rofl
cd -
umount aufs-dir
umount ro1
umount ro2
# and finally we look into changes-dir, to see the stored file changes
ls changes-dir