java 压缩只读文件系统_只读文件系统

本文介绍了如何在Java项目中使用只读文件系统,特别是cramfs和squashfs。cramfs适用于嵌入式Linux,支持Zlib压缩,而squashfs提供更大的分区和文件支持,以及多种压缩格式。文章详细讲解了这两个文件系统的特性,并阐述了它们的制作过程,包括使用cramfsprogs和squashfs-tools工具进行镜像创建和验证。
摘要由CSDN通过智能技术生成

在有些项目中,我们不希望系统的文件的被修改,如路由器的系统文件等等.我们就需要使用只读文件系统来保护我们的系统文件不被修改.

常见的只读文件系统有:cramfs文件系统和squashfs文件系统(cramfs文件系统的继任者)

一、cramfs文件系统: http://sourceforge.net/projects/cramfs/

1. compressed ROM filesystem

主要用于嵌入式Linux系统中,简单与空间高效

2. 特性:

支持最大分区:272MB (256MB + 16MB)

支持最大文件:16MB

压缩格式: Zlib,压缩比一般可以达到1:2,每页单独进行压缩处理 ————> 支持随机读取

动态解压:访问数据时实时解压访问到的页到内存,节省内存空间

使用透明:解压缩以及解压缩之后的内存中数据存放位置都是由cramfs文件系统本身进行维护,对外部使用透明

二、squashfs文件系统: cramfs的替代

1. http://www.squashfs.org

为通用只读文件系统等设计

2. 特性:

支持最大分区: 16EB

支持最大文件: 2TB

支持多种压缩格式:GZIP LZMA/LZMA2(XZ) LZO

三,cramfs文件系统的制作

1,安装制作工具

sudo apt-get install cramfsprogs

安装成功以后会有2个命令

mkcramfs:创建文件系统镜像

cramfsck:对文件系统镜像的一些操作

2,制作文件系统

mkcramfs 选项(可以没有) 目录名 镜像名称

cramfsck 镜像名 :验证是否正确

cramfsck -x 镜像名:解压该镜像

四,squashfs文件系统制作

1,制作工具的安装

sudo apt-get install squashfs-tools

mksquashfs:制作镜像

unsquashfs:对镜像的一些操作

2,制作文件系统

mksquashfs source1 source2 ... dest [options] [-e list of exclude dirs/files]

主要选项:

-comp 指定压缩算法:gzip (default)/lzo/xz

-b 设置块大小,单位 Bytes,默认 131072 bytes (1MB)

-no-exports 不支持NFS文件系统导出

-no-sparse 不检测稀疏文件

-no-xattrs 不存储扩展文件属性(XATTR)

-xattrs 存储扩展文件属性(default)

-noI 不压缩Inode节点表

-noD 不压缩数据块

-noF 不压缩片段块

-noX 不压缩扩展文件属性

-no-fragments 不使用片段管理

-always-use-fragments 对比块大小大的文件也是用片段块

-no-duplicates 不对文件重复进行检查

-all-root 修改所有的文件拥有者为root

-force-uid uid 设置所有文件的uid为指定的uid

-force-gid gid 设置所有文件的gid为指定的gid

-nopad 不对文件系统进行4K字节对齐

-keep-as-directory 如果指定的源中有目录,在文件系统中创建根目录包含该目录,而不是包含目录内容

mksquashfs 目录名 镜像名 -no-exports -no-xattrs -all-root

内容提取:

unsquashfs [options] filesystem [directories or files to extract]

主要选项:

-d[est] 解压到指定目录,默认为"squashfs-root"

-n[o-progress] 不显示进度条

-no[-xattrs] 不提取xattr属性,默认提取

-l[s] 列出文件系统内容,不进行解压缩提取

因为有些文件涉及到了管理员权限,所以建议使用管理员权限来制作和解压文件系统镜像以避免一些权限错误.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值