Aqui estou tentando criar um sistema de arquivos squashfs, mas a imagem resultante é maior do que a versão original e não porque eu adicionei um arquivo ou qualquer coisa, já que eu modifiquei apenas alguns arquivos de configuração.
O que estou tentando fazer é modificar o sistema de arquivos squashfs existente em um live usb e excluir algumas informações para iniciar o sistema operacional em um shell de login. Desde que eu fixei uma quantidade de espaço para a partição EXT4 eu preciso que o squashf modificado tenha o mesmo tamanho que o original. Eu posso fazer as mudanças enquanto o live system estiver rodando mas desde que eu estou fazendo um script para automatizar esse processo eu preciso fazer isso antes de criar o live usb em si. O problema vem quando recriar a imagem como o arquivo resultante é cerca de 400MB maior do que o original e quando eu uso a opção -b 4096 / 1Mbyte a imagem é cerca de 800mb maior quando o arquivo original é de cerca de 2,2 gb.
Eu fiz o mesmo antes para adicionar o meu script ao sistema de arquivos e funcionou muito bem, mas agora não consigo entender o que acontece desta vez. Eu procurei meu backup de .bash_history mas sem sorte
Como posso reduzir o tamanho da imagem? O que estou fazendo errado, alguém?
Editar:
# Create Directories
mkdir /mnt/kali-iso
mkdir /mnt/squash
mkdir /tmp/squash_mod
# Mount ISO And Squashfs Image
mount /root/kali.iso /mnt/kali-iso
mount /mnt/kali-iso/live/filesystem.squashfs /mnt/squash -o loop
# Copy All Files To A Temp Directory To Modify Them
cp -rf /mnt/squash/* /tmp/squash_mod
cp /root/foo.sh /tmp/squash_mod/root/Desktop/
# Create Squashfs
mksquashfs /tmp/squash_mod filesystem.squashfs
Ou
# mksquashfs /tmp/squash_mod filesystem.squashfs -b 4096 # or 1Mbyte
Resultados do comando "du":
du -ch /mnt/squash | grep "total" = 6.6G total
du -ch /tmp/squash_mod | grep "total" = 7.2G total
Existem algumas discrepâncias entre as mesmas pastas, o tamanho delas é diferente:
"/ tmp / squash_mod / sbin = 8.8 mb" "/ mnt / squash / sbin = 8.5mb"
"/ tmp / squash_mod / var = 309 mb" "/ mnt / squash / var = 282mb"
"/ tmp / squash_mod / bin = 7.0 mb" "/ mnt / squash / bin = 6.8 mb"