Como posso editar uma imagem do squashf diretamente sem extrair e re-embalar?

2

Eu tenho um arquivo de imagem do squashfs que copiei de um arquivo ISO inicializável. Ao montar o arquivo, ele sempre monta somente leitura.

É possível editar diretamente o conteúdo sem extrair a imagem do squashf primeiro, ou é possível montar imagens do squashf com leitura e escrita?

    
por Asaf Magen 25.10.2015 / 13:30

1 resposta

1

É possível modificar uma imagem do squashfs sem extrair seu conteúdo, mas há limitações. Se você especificar uma imagem existente do squashfs como o parâmetro de destino para mksquashfs , sem especificar a opção -noappend , ela tentará incluir arquivos adicionais dos parâmetros de origem especificados. Parece que mksquashfs tenta gerar um novo nome se encontrar um conflito, o que provavelmente não é o que você deseja se o objetivo for editar os arquivos.

Em princípio, mksquashfs poderia permitir que os arquivos fossem substituídos (e preservar o nome no processo) no modo append, mas a versão que estou usando, mksquashfs version 4.3-git (2014/06/09) (do pacote debian atual no sid), doesn parece permitir isso. Deveria ser possível fazer alterações incrementais arbitrárias em uma imagem do squashfs, com o código correto (exclusões de arquivos podem não ser eficientes em termos de espaço, se elas simplesmente são órfãos de blocos existentes e os deslocamentos existentes são reutilizados e novos dados são anexados), mas parece improvável que funcione bem em uma imagem montada (você precisaria desmontar a imagem antes de modificá-la e remontá-la depois).

    
por 27.04.2016 / 00:31