Linux 系统管理(EL7)-squashfs篇

1  概述

1.1   功能介绍

Squashfs(.sfs)是一套供Linux核心使用的GPL开源只读压缩文件系统。Squashfs能够为文件系统内的文件、inode及目录结构进行压缩,并支持最大1024千字节的区段,以提供更大的压缩比。

Squashfs的设计是专门为一般的只读文件系统的使用而设计,它可应用于数据备份,或是系统资源紧张的电脑上使用。最初版本的Squashfs采用 gzip 的数据压缩。版本 2.6.34 之后的Linux内核增加了对 LZMA和 LZO 压缩算法的支持,版本 2.6.38 的内核增加了对LZMA2的支持,该算法同时也是xz使用的压缩算法。

本文用到使用Squashfs制作的LiveCD技术,该技术将root文件系统保存在一个压缩过的文件系统文件中。这个文件可以使用环回的形式来挂载并对其中的文件进行访问。因为当进程需要某些文件,可以将它们解压,然后载入内存中使用。

本文暂时不介绍怎么制作LiveCD技术,而是介绍对LiveOS文件的操作。

官网地址:http://sourceforge.net/p/squashfs/wiki/Home/
Wiki: http://zh.wikipedia.org/zh-cn/SquashFS

1.2 工程依赖

Grub2-theme 依赖grub2的使用。

2  环境搭建

2.1 环境要求

基础系统 EL7,or SELINUXPLUS.COM Cloud 7。
软件包 squashfs-tools 

2.2 环境搭建

1 安装软件包

Yum install squashfs-tools -y

2 解压LiveOS

[root@ucsm02 LiveOS]# file squashfs.img
squashfs.img: Squashfs filesystem, little endian, version 4.0, 292275192 bytes, 3 inodes, blocksize: 131072 bytes, created: Fri Jul  4 23:55:59 2014
[root@SELinuxplus.com197 opt]# unsquashfs  squashfs.img
Parallel unsquashfs: Using 2 processors
1 inodes (16384 blocks) to write
[===========================================================|] 16384/16384 100%
created 1 files
created 2 directories
created 0 symlinks
created 0 devices
created 0 fifos
cusmtom anaconda

2.3使用文件

1 文件在里面rootfs.img的存储方式和结构 :
 [root@localhost LiveOS]# file rootfs.img
rootfs.img: Linux rev 1.0 ext4 filesystem data, UUID=a6108b67-239e-42bf-9229-85d163e216a3, volume name "Anaconda" (needs journal recovery) (extents) (64bit) (huge files)
2、 mount rootfs.img  test -o loop
3、[root@localhost test]# ll
total 26
lrwxrwxrwx.  1 root root     7 Jul  4 23:43 bin -> usr/bin
drwxr-xr-x.  2 root root  1024 Jul  4 23:48 dev
drwxr-xr-x. 93 root root  5120 Aug 14 17:20 etc
lrwxrwxrwx.  1 root root    12 Jul  4 23:50 firmware -> lib/firmware
lrwxrwxrwx.  1 root root     7 Jul  4 23:43 lib -> usr/lib
lrwxrwxrwx.  1 root root     9 Jul  4 23:43 lib64 -> usr/lib64
drwx------.  2 root root 12288 Jul  4 23:51 lost+found
drwxr-xr-x.  2 root root  1024 Jul  4 23:50 mnt
lrwxrwxrwx.  1 root root    11 Jul  4 23:50 modules -> lib/modules
dr-xr-xr-x.  2 root root  1024 Jun 10 08:11 proc
dr-xr-x---.  2 root root  1024 Jul  4 23:50 root
drwxr-xr-x. 19 root root  1024 Jul  4 23:46 run
lrwxrwxrwx.  1 root root     8 Jul  4 23:43 sbin -> usr/sbin
dr-xr-xr-x.  2 root root  1024 Jun 10 08:11 sys
drwxrwxrwt.  7 root root  1024 Jul  4 23:51 tmp
drwxr-xr-x. 10 root root  1024 Jul  4 23:51 usr
drwxr-xr-x. 10 root root  1024 Jul  4 23:51 var</td>

压缩文件:

mksquashfs rootfs.img suqashfs.img

2.4工程调试

1、工程调试运行时需要启动安装程序,建议使用网络安装

2.5其他事项

1、系统压缩文件时,由于mksquashfs支持多种压缩算法,选用vmlinz可以支持的算法。如不清楚选用默认算法。

2.6 其他

描述项目研制过程中将采用的其他方面的内容。

发表评论

您的电子邮箱地址不会被公开。