squashfs文件系统

一、Squashfs文件系统简介

 squashfs是以linux 内核源码补丁的形式发布,附带mksquashfs工具,用于创建squash文件系统。squashfs可以将整个文件系统或者某个单一的目录压缩在一起, 存放在某个设备, 某个分区或者普通的文件中. 如果你将其压缩到一个设备中, 那么你可以将其直接mount起来使用; 而如果它仅仅是个文件,你可以将其当为一个loopback 设备使用. squashfs文件系统的设计令人欣喜.  For archiving purposes, 它可以让你更加灵活的使用, 而且它比.tar.gz文档有更快的响应速度。

  以下是squash文件系统的特点:

· 数据(data),节点(inode)和目录(directories)都被压缩。

· 保存了全部的32位UID/GIDS和文件的创建时间. (注: cramfs是8位,没有创建时间)。

· 支持多达4G的文件系统. (cramfs是16M)。

· 节点和目录都是高度压缩, 而且都是存储在字节边界(packed on byte boundaries); 所有压缩的节点长度平均在8个字节左右.(具体的长度根据文件的类型是不同的. 比如, 普通文件,目录,符号链接,块设备和字符设备的节点的大小就不一样)。

· squashfs可以允许块大小(block size)达32Kb(1.x)和64kb(2.x), 这样可以达到比4K块大小更大的压缩率。

·  squashfs 2引进了碎片块(fragment blocks)的概念: 一种将许多比块size 小的文件存储在一个块中, 以达到更大的压缩率。

· 重复的文件会被检测并删除掉。

· 同时支持big和little endian架构. SQ可以将文件系统MOUNT到不同的字节顺序(byte-order)的机器上面。

 编译使用SQ的基本步骤:   1.重新打包和编译Linux内核, 使之支持SQ.   2.编译mksquashfs工具.   3.使用mksquashf创建压缩文件系统.   4.试用: mount suqash文件系统到一个临时目录.   5.如果需要的话,更改/etc/fstab 或者起始脚本, 以使linux操作系统自动加载新的 squashfs 文件系统.

 squashfs是一个只读压缩文件系统,对嵌入式来说,可以减少成本,在使用nand flash作为存储设备的开发板来说,要使用squashfs首先内核当中要有对squashfs的支持,同时还要有对mtd字符设备和块设备的支持。

一般可以用于制作Android的ROM分区;

二、构建squash文件系统

 https://www.ibm.com/developerworks/cn/linux/1306_qinzl_squashfs/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏difcareer的技术笔记

MINIDUMP文件格式解析前言MINIDUMP文件解析解析效果编写模板的好处

在breakpad: Native crash 日志收集工具一文中,讲述了如何使用breadpad做NativeCrash日志收集。在做深入定制化过程中,发现需...

582
来自专栏繁花云

[实例]利用php+mysql完成shell脚本的授权验证

作者最近这几天写了一个shell脚本准备进行出售,由于单独出售利润不大,决定将脚本按照IP进行授权,出售授权,这样可以增加利润。

660
来自专栏极客猴

安利两个 MongoDB 可视化工具

MongoDB 是一种 NoSQL 数据库。NoSQL(Not Only SQL ),意即"不仅仅是SQL", 泛指非关系型的数据库。这两种类型差别之一是存储方...

734
来自专栏学习有记

学委助手

学委除了要收作业,最烦的就是统计谁没有交作业啦,还有就是大家的命名不统一造成文件排序混乱,更加大了学委统计的难度。所以,写这个应用的目的就是查交和格式化文件命名...

702
来自专栏技术/开源

开源API测试工具 Hitchhiker v0.4更新 - 没有做不到,只有想不到

Hitchhiker 是一款开源的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你...

1756
来自专栏小白客

Python爬虫学习--爬虫基本架构

一个简单的爬虫架构由爬虫调度端、URL管理器、网页下载器和网页解析器四部分构成。它们之间的关系如下图: ? ● 爬虫调度端:启动爬虫,停止爬虫,监视爬虫的运行情...

3436
来自专栏喵了个咪的博客空间

[喵咪PHP]页面显示空白问题

#[喵咪PHP]页面显示空白问题# ? ##前言## 哈喽!大家好啊,喵咪PHP第一次和大家见面了,熟悉的朋友呢也之道喵咪我也开了喵咪Liunx和喵咪Golan...

28911
来自专栏开源优测

AutoMagic设计思路简介及新增自定义关键字实例

目录 简介 AutoMagic介绍 SeleniumKey介绍 自定义关键字 简介 AutoMagic 是一个基于WebUI的自...

2697
来自专栏逆向技术

病毒分析第二讲,分析病毒的主要功能

             病毒分析第二讲,分析病毒的主要功能 经过昨天病毒分析第一讲,得出一个被注入的DLL 开始分析DLL主要功能 PS: IDA中,DLL会...

1815
来自专栏along的开发之旅

程序集版本号,文件版本号及发布版本号管理

在.net框架中和CLR运行时钟引用,如使用程序集的强命名时就会使用. 按照我的理解,你所使用的库如log4net,常见的有2.0和4.0的,那么你下载的库...

511

扫描关注云+社区