1. 什么是 SquashFS

1.1. 简介

在创建微型和嵌入式 Linux 系统时,存储设备(软盘、闪存盘等)的每一字节都非常重要,因此压缩技术被广泛应用。此外,压缩文件系统也经常用于存档目的。对于庞大的公共档案以及个人媒体档案而言,这至关重要。

SquashFS 将这一切提升到了新的水平。它是一个只读文件系统,允许您压缩整个文件系统或单个目录,将它们写入其他设备/分区或普通文件,然后直接挂载它们(如果是设备)或使用环回设备(如果是文件)。SquashFS 的模块化、紧凑系统设计堪称完美。对于存档目的而言,SquashFS 比 tarball 存档具有更大的灵活性和性能速度。

SquashFS 以 Linux 内核源代码补丁(在您的内核中启用 SquashFS 读取支持)、mksquashfs 工具(用于创建压缩文件系统,可以创建在文件或块设备上)以及 unsquashfs 工具(用于从现有的压缩文件系统中提取多个文件)的形式分发。

最新的 SquashFS 发布树是 3.x,之前的版本是 2.x。本文档描述了这两个版本,并提供了适当的注释。例如,如果某些特性或参数在这两个发布树中有所不同,将按如下方式书写:新值 (3.x) 或旧值 (2.x)

1.2. SquashFS 概述

1.3. 明确说明

现在让我们确保接下来的讨论对您来说更清晰易懂。使 SquashFS 工作的基本步骤如下

  1. 修补和重新编译目标 Linux 内核以启用 SquashFS 支持

  2. 编译 mksquashfsunsquashfs 工具

  3. 使用 mksquashfs 创建压缩文件系统

  4. 测试:将压缩文件系统挂载到临时位置

  5. 修改/etc/fstab或目标 Linux 系统的启动脚本,以便在需要时挂载新的压缩文件系统