博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
squashfs
阅读量:4283 次
发布时间:2019-05-27

本文共 1299 字,大约阅读时间需要 4 分钟。

squashfs是基于Linux内核使用的压缩只读文件系统。

南瓜文件系统是一种轻量级的linux文件系统,多用于ARM等嵌入式平台的初始化。大家可以参考以下的文档:)

1.SquashFS是什么
1.1
简介
当要创建一个很小或者嵌入式linux系统时,存储设备(如软盘,FLASH)中的每 个字节都十分重要,所以必须尽可能的在压缩每个地方.而且,压缩的文件系统compressed file systems are frequently needed for archiving purposes. For huge public archives, as well as for personal media archives, this is essential.

SquashFS
将这些实现带到了新的高度.它是一个只读的文件系统,它可以将整个文件系统或者每个单一的目录压缩在一起, 存放在某个设备,某个分区或者普通的文件中. 如果你将其压缩到一个设备中,那么你可以将其直接mount起来使用;而如果它仅仅是个文件的化,你可以将其当为一个loopback设备使用. SQ文件系统的设计令人欣喜.  For archiving purposes, SQ可以让你更加灵活的使用,而且它比.tar.gz文档有更快的响应速度.

SQ
以一个linux内核源码的补丁的形式发布,它附带了一个mksquashfs工具,用于创建squashed文件系统(成为一个文件或者创建到一个block device).

1.2 SQ概述
>
数据(data),节点(inode)和目录(directories)都被压缩
>
保存了全部的32UID/GIDS和文件的创建时间. (: cramfs8,没有创建时间)
>
支持多达4G的文件系统. (cramfs16M).
>
节点和目录都是高度压缩, 而且都是存储在字节边界(packed on byte boundaries);所有压缩的节点长度平均在8个字节左右.(具体的长度根据文件的类型是不同的.比如, 普通文件,目录,符号链接,块设备和字符设备的节点的大小就不一样)
>SQ
可以允许块大小(block size)32Kb(1.x)64kb(2.x),这样可以达到比4K块大小更大的压缩率.
>SQ2.X
引进了碎片块(fragment blocks)的概念:一种将许多比块size 小的文件存储在一个块中,以达到更大的压缩率.
>
重复的文件会被检测并删除掉.
>
同时支持biglittle endian架构. SQ可以将文件系统MOUNT到不同的字节顺序(byte-order)的机器上面.

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

 

转载地址:http://btcgi.baihongyu.com/

你可能感兴趣的文章
linux nand flash常用命令
查看>>
NESSUS扫描操作指导
查看>>
C语言读取文件大小,载入文件全部内容
查看>>
C语言 static静态变量的作用
查看>>
Linux(C/C++)下的文件操作open、fopen与freopen
查看>>
C语言 文件操作的头文件
查看>>
C语言的常用库函数(dos)之四(dir.h文件下的一些函数)
查看>>
warning: jobserver unavailable: using -j1. Add `+' to parent make rule问题怎么解决
查看>>
防火墙报文转发流程
查看>>
以太坊创始人:17岁的亿万富翁养成记
查看>>
linux下IPTABLES配置详解
查看>>
关于iptables -m选项以及规则的理解
查看>>
linux系统中查看己设置iptables规则
查看>>
一些库函数的使用注意事项
查看>>
IPv6地址自动配置中的有状态(stateful)和无状态(stateless)的区别
查看>>
阿里云 ACP 云安全 题库总结
查看>>
阿里云 ACP 云安全 题库 -- 数据库审计部分
查看>>
GC 回收机制
查看>>
探究 Android MVC、MVP、MVVM 的区别以及优缺点
查看>>
深入分析 Handler 内存泄露
查看>>