如何更新已安装的squashfs文件系统?写入已安装的块设备是否安全(路由器以某种方式更新固件)?
答案1
squashFS 通常是另一个文件系统(例如 FAT FS)中的单个文件。也可以将其原始复制到单个分区。
SquashFS 无法修改。要修改squashFS,必须将其提取、修改内容并再次“压缩”它。
在某些 Linux 发行版上,SquashFS 与 OverlayFS(或 aufs 或 unionfs)结合使用。这些文件系统将另一个 FS 覆盖在 squashFS 之上,该文件系统可以基于驻留在 RAM 中的 ramfs 或 tmpfs 文件系统。当这样做时,底层是squashfs,顶层是RAM。这允许仅在RAM中修改squashfs的文件。这种技术称为写入时复制,它会在 RAM 磁盘中为 squashfs 中的每个修改文件创建一个新文件。除了将文件保存在 RAM 磁盘(ramfs 或 tmpfs)中之外,还可以使用真实分区(FAT 或其他)中的文件夹。在真实文件系统中使用真实文件夹将使修改在重新启动后保持不变。这通常用于随身碟发行版。