unsquashfs的部署和用法

简介:

场景说明:在定制根文件系统的时候,我们可以尝试使用LiveCD下LiveOS提供的文件系统,通过修改这个文件系统,然后重新打包的方式,定制一个启动系统。部署这样子的文件系统环境是非常有用的。

1)和虚拟机创建一个共享文件夹,方便刻盘使用,当然前提是vmvare tool必须的!!

2)空间不小于¥GB,squashfs.img文件是600MB,解压之后是1500M,同时需要打包的环境。

3)创建文件夹squashfs-root文件夹,使用unsquashfs解压


unsquashfs -d(指定解压出来的squashfs-root文件夹的路径)
    -f(指定squashfs.img的全路径)

 

首先挂载光盘,然后,指定解压出来的路径到squashfs-root,然后指定squashfs.img文件目录。

 

4)

将squashfs.img文件解压之后,获得一个squashfs-root的文件
squashfs-root目录下的文件
 ext3fs.img文件

mount -o loop,rw ext3fs.img  /mnt/livecd-root/

现在我们可以进入到livecd-root目录,看到五脏俱全的文件系统,

5)   在当前的控制台下切换根文件系统,使用chroot,这是一个将当前的目录,看做是根文件系统的样子,我们可以直接操作,而留下的痕迹就是直接改变这个文件系统,而不是宿主。

chroot 当前控制台切换到当前的目录作为根文件系统

 

这个时候,这个地点,使用chkconfig,rpm 等等绝对是影响深远,但是不损分毫整个原有系统,一个虚影的存在。

 

6)重新打包是一个好的主意:

mksquashfs squashfs-root/   squashfs.img

7)

8)替换掉原有的文件,这样子就打上了自己的烙印

9)重新制作IOS镜像

制作光盘镜像的指令如下:
进入到光盘文件的当前目录:
[root@localhost iso]# ls
EFI  file  GPL  isolinux  LiveOS
[root@localhost iso]# mkisofs -r -T -J -L -V 'FEDORA' -o /mnt/hgfs/D/CD/FEDORA.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table  ./ 

详细说明:-o 是output指定ISO输出的文件路径
   -V 是Set Volume ID指定光盘的卷标ID(必须和syslinux.cfg中的root的后缀一致)
   -b 是开机映像文件,指定在制作可开机光盘时所需的开机映像文件

 

 

 

      本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1436482,如需转载请自行联系原作者

 

 

相关文章
|
2月前
ES6 扩展运算符 ...【详解】(含使用场景、实战技巧和范例、实现原理、错误用法)
ES6 扩展运算符 ...【详解】(含使用场景、实战技巧和范例、实现原理、错误用法)
32 5
|
2月前
|
C语言 C++ 开发者
C++基础知识(一:命名空间的各种使用方法)
C++在C的基础上引入了更多的元素,例如类,类的私密性要比C中的结构体更加优秀,引用,重载,命名空间,以及STL库,模板编程和更多的函数,在面向对象的编程上更加高效。C语言的优势则是更加底层,编译速度会更快,在编写内核时大多数都是C语言去写。 在C++中,命名空间(Namespace)是一种组织代码的方式,主要用于解决全局变量、函数或类的命名冲突问题。命名空间提供了一种封装机制,允许开发者将相关的类、函数、变量等放在一个逻辑上封闭的区域中,这样相同的名字在不同的命名空间中可以共存,而不会相互干扰。
|
3月前
|
Java Maven Docker
几种常见的构建模式及其使用方法
几种常见的构建模式及其使用方法
36 3
|
4月前
|
机器学习/深度学习 存储 算法
C++ 模版函数介绍:介绍模版函数的基本概念、用法和作用
C++ 模版函数介绍:介绍模版函数的基本概念、用法和作用
45 1
|
4月前
|
存储 JSON Shell
进一步学习 nox 教程,轻松掌握命令行用法
进一步学习 nox 教程,轻松掌握命令行用法
36 1
|
4月前
|
存储 数据处理 API
【C# 控制台】主要讲述以下C#的部分语法,部分基础,做到了解作用
【C# 控制台】主要讲述以下C#的部分语法,部分基础,做到了解作用
|
10月前
|
JSON Kubernetes API
k8s教程(pod篇)-定义与基本用法
k8s教程(pod篇)-定义与基本用法
191 0
DataTableDelegate 使用方法
DataTableDelegate 使用方法
66 0
|
Windows
基础用法
基础用法
91 0
|
JSON 测试技术 数据格式