如何直接编辑squashfs图像而不解压和重新打包?

如何直接编辑squashfs图像而不解压和重新打包?

我有一个从可启动 iso 文件复制的 squashfs 映像文件。挂载文件时,它始终以只读方式挂载。

是否可以直接编辑内容而不先提取squashfs图像,或者是否可以以读写方式挂载squashfs图像?

答案1

可以在不提取其内容的情况下修改 squashfs 映像,但有一些限制。如果您指定现有的 squashfs 映像作为 的目标参数mksquashfs,而不指定该-noappend选项,它将尝试从指定的源参数添加其他文件。如果遇到冲突,似乎mksquashfs会尝试生成新名称,如果目标是就地编辑文件,这可能不是您想要的。

原则上,mksquashfs可以允许在追加模式下替换文件(并保留进程中的名称),但我正在使用的版本mksquashfs version 4.3-git (2014/06/09)(来自 sid 中​​的当前 debian 包)似乎不允许这样做。应该可以使用正确的代码对 squashfs 映像进行任意增量更改(如果文件删除只是孤立现有块,并且重用现有文件偏移量并附加新数据,则文件删除可能不会节省空间),但是似乎不太可能在已安装的图像上正常工作(您需要在修改图像之前卸载图像,然后重新安装它)。

相关内容