news 2026/4/15 18:53:09

Squashfs-Tools 完整使用指南:从入门到精通

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Squashfs-Tools 完整使用指南:从入门到精通

Squashfs-Tools 完整使用指南:从入门到精通

【免费下载链接】squashfs-toolstools to create and extract Squashfs filesystems项目地址: https://gitcode.com/gh_mirrors/sq/squashfs-tools

Squashfs-Tools 是一套用于创建和提取 Squashfs 文件系统的工具集。Squashfs 是一种高度压缩的只读文件系统,专为 Linux 设计,特别适用于嵌入式系统、光盘映像和系统恢复等场景。

项目概述与安装

项目结构

Squashfs-Tools 项目包含以下主要目录:

  • Documentation/- 详细的使用文档,按版本号组织
  • squashfs-tools/- 核心源代码目录
  • manpages/- 手册页文件

快速安装步骤

  1. 克隆项目仓库:

    git clone https://gitcode.com/gh_mirrors/sq/squashfs-tools
  2. 编译工具:

    cd squashfs-tools make
  3. 安装工具:

    sudo make install

默认安装位置为/usr/local/bin,可通过编辑 Makefile 中的INSTALL_PREFIXINSTALL_DIR变量来自定义安装路径。

核心工具详解

1. Mksquashfs - 创建 Squashfs 文件系统

Mksquashfs 是用于创建 Squashfs 文件系统的主要工具。

基本用法
mksquashfs source1 source2 ... FILESYSTEM [OPTIONS]
实用示例
  • 创建包含单个目录的文件系统:

    mksquashfs test image.sqfs
  • 创建包含多个目录的文件系统:

    mksquashfs test1 /home/phillip/test2 image.sqfs
  • 保留目录结构(类似 tar 行为):

    mksquashfs /home/phillip/test image.sqfs -no-strip

2. Unsquashfs - 提取 Squashfs 文件系统

Unsquashfs 用于提取和列出 Squashfs 文件系统的内容,无需挂载。

常用选项
unsquashfs -l image.sqfs # 列出文件系统内容 unsquashfs image.sqfs # 提取整个文件系统 unsquashfs -f file1 image.sqfs # 提取特定文件

3. Sqfstar - 从 TAR 归档创建 Squashfs

Sqfstar 允许将 TAR 文件转换为 Squashfs 文件系统。

4. Sqfscat - 从 Squashfs 文件系统中输出文件

Sqfscat 可以从 Squashfs 文件系统中直接将文件内容输出到标准输出。

高级功能配置

压缩算法选择

Squashfs 支持多种压缩算法:

  • gzip- 默认算法,压缩比和性能均衡
  • lzo- 压缩比较低,但解压速度更快
  • lz4- 与 lzo 类似,适合对性能要求较高的场景
  • xz- 提供更高的压缩比,但需要更多的内存和时间
  • zstd- Facebook 开发,兼顾压缩比和解压速度
切换压缩算法
mksquashfs source image.sqfs -comp xz

块大小优化

默认块大小为 128KB,可根据需求调整:

mksquashfs source image.sqfs -b 256K

支持的大小范围:4K、8K、16K、32K、64K、128K、256K、512K、1M。

并行读取优化

现代版本的 Mksquashfs 支持并行文件读取:

配置读取线程
mksquashfs source image.sqfs -small-readers 8 -block-readers 4
  • -small-readers- 专门读取小文件的线程数
  • -block-readers- 专门读取大文件的线程数
  • -single-reader- 恢复到单线程读取模式

扩展属性管理

Squashfs 支持扩展属性(xattrs)的过滤和添加:

排除特定属性
mksquashfs source image.sqfs -xattrs-exclude '^user.'
添加扩展属性
mksquashfs source image.sqfs -xattrs-add "user.comment=hello world"

伪文件支持

Mksquashfs 支持伪文件功能,允许创建在源文件系统中不存在的文件。

实用技巧与最佳实践

排除不需要的文件

mksquashfs source image.sqfs -e exclude_file1 exclude_file2

构建可重现的文件系统

mksquashfs source image.sqfs -repro

资源使用控制

mksquashfs source image.sqfs -processors 2 -throttle 50

性能优化建议

  1. 小文件处理:对于包含大量小文件的场景,增加小文件读取线程数可以显著提升性能。

  2. 大文件处理:对于大文件,过多的读取线程可能不会带来明显收益。

  3. 压缩算法选择

    • 追求最高压缩比:使用 xz
    • 平衡压缩比和性能:使用 gzip 或 zstd
    • 追求最快解压速度:使用 lzo 或 lz4

版本兼容性说明

  • 内核要求:本版本适用于 2.6.29 及以上内核
  • 扩展属性:需要 2.6.35 及以上内核支持
  • 压缩算法支持
    • LZO:需要 2.6.36 及以上内核
    • XZ:需要 2.6.38 及以上内核
    • LZ4:需要 3.11 及以上内核
    • ZSTD:需要 4.14 及以上内核

故障排除

常见问题解决

  1. 权限问题:使用-all-root选项创建 root 拥有的文件系统
  2. 空间不足:确保目标设备有足够的存储空间
  3. 压缩失败:检查是否安装了相应的压缩库

通过掌握以上内容,您将能够充分利用 Squashfs-Tools 的强大功能,在各种场景下高效地创建和管理压缩文件系统。

【免费下载链接】squashfs-toolstools to create and extract Squashfs filesystems项目地址: https://gitcode.com/gh_mirrors/sq/squashfs-tools

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 18:51:47

Qwen3-VL开箱即用镜像推荐:0配置体验多模态,2块钱起

Qwen3-VL开箱即用镜像推荐:0配置体验多模态,2块钱起 1. 为什么选择Qwen3-VL镜像? 最近阿里云推出的Qwen3-VL 4B/8B版本让很多AI爱好者跃跃欲试,但部署这类多模态大模型对新手来说往往是个挑战。传统部署需要配置CUDA环境、安装依…

作者头像 李华
网站建设 2026/4/15 18:51:48

Qwen3-VL模型压缩教程:让8G显存电脑也能流畅运行

Qwen3-VL模型压缩教程:让8G显存电脑也能流畅运行 1. 为什么需要模型压缩? 最近我在二手市场淘到一块GTX1080显卡(8G显存),想用它跑Qwen3-VL模型做些副业项目。但原版Qwen3-VL需要24G显存才能运行,这让我很…

作者头像 李华
网站建设 2026/4/15 18:51:48

JarEditor革命:在IDE中直接操控JAR文件的智能方案

JarEditor革命:在IDE中直接操控JAR文件的智能方案 【免费下载链接】JarEditor IDEA plugin for directly editing classes/resources in Jar without decompression. (一款无需解压直接编辑修改jar包内文件的IDEA插件) 项目地址: https://g…

作者头像 李华
网站建设 2026/4/10 10:39:02

6大苹方字体终极指南:打破苹果字体跨平台壁垒的完整方案

6大苹方字体终极指南:打破苹果字体跨平台壁垒的完整方案 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件,包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 还在为网站字体在不同操作系统上呈现…

作者头像 李华
网站建设 2026/4/13 20:42:12

ControlNet++:重新定义AI图像生成的多条件控制技术

ControlNet:重新定义AI图像生成的多条件控制技术 【免费下载链接】controlnet-union-sdxl-1.0 项目地址: https://ai.gitcode.com/hf_mirrors/xinsir/controlnet-union-sdxl-1.0 在AI图像生成领域,你是否曾遇到过这样的困境:想要精确…

作者头像 李华