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文件的操作。

官网地址:

Wiki:

1

2

官网地址: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

1

2

基础系统EL7,orSELINUXPLUS.COMCloud7。

软件包squashfs-tools

2.2 环境搭建

1 安装软件包

Yum install squashfs-tools -y

1

Yuminstallsquashfs-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

1

2

3

4

5

6

7

8

9

10

11

12

[root@ucsm02LiveOS]# file squashfs.img

squashfs.img:Squashfsfilesystem,littleendian,version4.0,292275192bytes,3inodes,blocksize:131072bytes,created:FriJul 423:55:592014

[root@SELinuxplus.com197opt]# unsquashfs  squashfs.img

Parallelunsquashfs:Using2processors

1inodes(16384blocks)towrite

[===========================================================|]16384/16384100%

created1files

created2directories

created0symlinks

created0devices

created0fifos

cusmtomanaconda

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

1文件在里面rootfs.img的存储方式和结构:

[root@localhostLiveOS]# file rootfs.img

rootfs.img:Linuxrev1.0ext4filesystemdata,UUID=a6108b67-239e-42bf-9229-85d163e216a3,volumename"Anaconda"(needsjournalrecovery)(extents)(64bit)(hugefiles)

2、mountrootfs.img test-oloop

3、[root@localhosttest]# ll

total26

lrwxrwxrwx. 1rootroot    7Jul 423:43bin->usr/bin

drwxr-xr-x. 2rootroot 1024Jul 423:48dev

drwxr-xr-x.93rootroot 5120Aug1417:20etc

lrwxrwxrwx. 1rootroot   12Jul 423:50firmware->lib/firmware

lrwxrwxrwx. 1rootroot    7Jul 423:43lib->usr/lib

lrwxrwxrwx. 1rootroot    9Jul 423:43lib64->usr/lib64

drwx------. 2rootroot12288Jul 423:51lost+found

drwxr-xr-x. 2rootroot 1024Jul 423:50mnt

lrwxrwxrwx. 1rootroot   11Jul 423:50modules->lib/modules

dr-xr-xr-x. 2rootroot 1024Jun1008:11proc

dr-xr-x---. 2rootroot 1024Jul 423:50root

drwxr-xr-x.19rootroot 1024Jul 423:46run

lrwxrwxrwx. 1rootroot    8Jul 423:43sbin->usr/sbin

dr-xr-xr-x. 2rootroot 1024Jun1008:11sys

drwxrwxrwt. 7rootroot 1024Jul 423:51tmp

drwxr-xr-x.10rootroot 1024Jul 423:51usr

drwxr-xr-x.10rootroot 1024Jul 423:51var

压缩文件:

mksquashfs suqashfs-root suqashfs.img

mksquashfs rootfs.img suqashfs.img

1

mksquashfsrootfs.imgsuqashfs.img

linux下squashfs使用方法,Linux 系统管理(EL7)-squashfs篇相关推荐

  1. linux下挂载光驱方法,Linux下光驱挂载技巧

    Linux将每一个物理设备都映射成了一个文件,这些文件都放在了/dev文件(linux中目录也是文件)下面,光驱映射成的文件就是一个名为cdrom的文件.mount命令是挂载光驱的基本命令,其后可以跟 ...

  2. 构建LINUX下的入侵检测系统——LIDS 系统管理命令--vlock

    构建LINUX下的入侵检测系统--LIDS   系统管理命令--vlock http://blog.chinaunix.net/uid-306663-id-2440200.html LIDS官方网站: ...

  3. linux下gdb调试方法和技巧详解

    linux下gdb调试方法和技巧整理 简介 UNIX或者UNIX-like下调试工具 启动gdb # 1. 在可执行程序不需要输入参数时,我们可以使用 gdb + 可执行程序 gdb ./typeid ...

  4. linux cpu uuid 查看,Linux下查看UUID方法介绍

    Linux下查看UUID方法介绍. 1. sudo blkid /dev/sda1: UUID="9ADAAB4DDAAB250B" TYPE="ntfs" / ...

  5. Linux下文件加密方法总结

    Linux下文件加密方法总结 为了安全考虑,通常会对一些重要文件进行加密备份或加密保存,下面对linux下的文件加密方法做一简单总结: 方法一:gzexe加密 这种加密方式不是非常保险的方法,但是能够 ...

  6. linux服务器新装hba卡,EmulexHBA卡在Linux下的安装方法

    EmulexHBA卡在Linux下的安装方法 Redhat 9.0+Emulex9002L+lpfc.gcc3.i386.tar 驱动的安装包括了3个部分: 1. 安装驱动程序 2. 编译驱动程序为驱 ...

  7. linux下安装teamviewer方法

    如题:linux下安装teamviewer方法 1:下载teamviewer安装包 2:在终端上进入放teamviewer安装包的目录下 3:执行命令:yum  install  teamviewer ...

  8. linux grep 去重_GPS卫星同步时钟(北斗授时设备)LINUX下配置NTP方法 - NTP校时服务器...

    GPS卫星同步时钟(北斗授时设备)LINUX下配置NTP方法 GPS卫星同步时钟(北斗授时设备)LINUX下配置NTP方法 京准电子科技官微--ahjzsz 第一种方法: 系统使用命令行配置: 在 L ...

  9. LINUX 下安装软件方法命令方法

    LINUX 下安装软件方法命令方法 怎么安装应用软件? 我的软件安装在什么地方? 如何删除不要的应用软件? -- 下面,我们就一起来认识一下这些方面的问题. 一. 解析Linux应用软件安装包: 通常 ...

  10. crontab的用法 linux,linux下定时执行任务的方法及crontab 用法说明(收集整理)

    linux下定时执行任务的方法 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时 ...

最新文章

  1. 中国的自动驾驶到底发展到了什么程度?
  2. Spring boot 梳理 - WebMvcConfigurer接口 使用案例
  3. 【分布式】1、CAP原则(CAP定理)、BASE理论
  4. c++类指针赋值表达式必须是可修改的左值_C++学习刷题8--复制构造函数和赋值运算符重载函数...
  5. 验证DetailsView插入数据不为空
  6. 深入浅出 消息队列 ActiveMQ
  7. python如何强制结束主线程_强制结束线程
  8. java 接口的声明和实现 总结_java知识总结(三):函数式接口
  9. python列表的加法_Python列表加法理解
  10. php 统计页面跳失率,究竟网店各页面的跳失率大小为多少才算正常水平?
  11. App Transport Security has blocked a cleartext
  12. python绘图之散点图
  13. matlab 简单低通滤波器,简单低通滤波器设计及matlab仿真.doc
  14. xShell 5外观(背景、文字等)设置方案
  15. p2p文件服务器,P2P文件传输
  16. Pickit 3D视觉定位抓取系统 -硅步机器人
  17. 最新游戏陪玩源码V2.0升级版/商业版语音聊天系统源码
  18. find() python
  19. 高一计算机专业学期总结,高一计算机学期工作总结
  20. 百度富文本编辑器(ueditor)样式错误,回显出现#39、quot

热门文章

  1. MySQL概述 -- 安装配置 -- 学习笔记
  2. 大数据分析-用户画像详解
  3. python3wxpy下载_wxpy
  4. 外国程序员也愁:快四十岁了,以后该怎么办?
  5. supesite模板的使用
  6. I2C总线通信——时序/示波器分析
  7. cv竞赛和kaggle_关于抽象和推理挑战kaggle竞赛的评论
  8. springalibaba的各种组件应用
  9. 数据中台咋就从“小甜甜”变成了“牛夫人”?
  10. latex公式如何打出加粗斜体