分享

Linux之自定义ISO镜像文件制作

 苏醒的贝壳 2018-05-16

这一节主要介绍iso镜像制作过程,主要包含两部分

  1. mkisofs:创建镜像文件

  2. 光盘烧录工具

如果终端没有mkisofs指令,需要下载一下,例如ubuntu14.04

apt-get install genisoimage

其他linux系统网上搜一下,教程很多

创建镜像文件指令:mkisofs

mkisofs(make iso file system):指令有两种用法,如果你不是用来安装系统那么可以随意一些,类似于文件打包一样,只不过是用的mkisofs指令,生成的是iso文件.还有一种比较重要的用法相信大家或多或少都接触过,那就是重装系统,系统iso制作相对严格一些,下面就这两种用法介绍一下

制作一般的镜像文件

root@ubuntu:~# mkisofs [-o 镜像文件] [-Jrv] [-V vol] [-m file] 待制作文件 -graft-point isodir=systemdir

mkisofs选项与参数:

-o :自定义的镜像文件名

-J :产生较相容于 windows 机器的文件名结构,可增加文件名长度到 64 个 unicode 字符

-r :通过 Rock Ridge 产生支持 Unix/Linux 的文件数据,可记录较多的信息(如 UID/GID等) ;

-v :显示创建 ISO文件的过程

-V vol :类似于标记信息

-m file :-m 为排除文件 (exclude) 的意思,后面的文件不备份到镜像文件中,支持万用字符

-graft-point:待制作文件于生成后的iso镜像文件目录映射关系

mkisofs指令中还有很多其他的选项,这里小编只列出一部分常用的部分,需要了解其他参数的朋友们可以man或者help一下

-r参数可以比较完整的记录需要备份的文件信息(包括UID/GID与权限),所以尽量带上,除此之外,mkisofs指令默认是把所有的待制作文件到放到同一个目录下面,例如,我要把/etc,/home目录下的文件制作iso文件,默认情况下,制作好的iso文件是没有/etc /home目录的,而是把/etc,/home目录下的文件统统放到根目录下

root@ubuntu:~# mkisofs -r -v -o /tmp/test.iso -V 'test iso' /etc /home

Linux之自定义ISO镜像文件制作

mkisofs制作一般镜像文件

图很长只截取一部分,下面我们看一下这个iso文件是怎么样的

root@ubuntu:~# mount -o loop /tmp/test.iso /mnt (这个命令忘记了可以参考我的另一篇文章)

Linux特殊设备loop挂载档案文件(iso无需烧录即可挂载使用)

Linux之自定义ISO镜像文件制作

挂载ISO镜像文件

看一下这个文件,是不是强迫症犯了,反正小编是受不了,文件太乱了

先解挂 umount /mnt

如果想指定目录存放文件,可以使用-graft-point选项,做待备份文件与镜像文件的映射,-graft-point用法

  • 镜像目录=实际需要备份的目录

  • /iso/etc=/etc

  • /iso/home=/home

上一个例子再次制作一遍

root@ubuntu:~# mkisofs -r -v -o /tmp/test1.iso -V 'test iso once' -graft-point /iso/etc=/etc /iso/home=/home

Linux之自定义ISO镜像文件制作

目录映射后的ISO镜像文件

iso是自定义的文件名,这样一看是不是舒服多了,瞬间治愈了多年的强迫症!

以上是制作一般的镜像文件,如果要制作装系统用的iso又该如何做呢

制作装系统用的iso

首先你得有一个纯净版的iso镜像,我准备的是ubuntu-14.04.1-server-amd64.iso

首先对次iso进行挂载

root@ubuntu:~# mount ubuntu-14.04.1-server-amd64.iso /mnt

mount: block device /root/ubuntu-14.04.1-server-amd64.iso is write-protected, mounting read-only

iso镜像文件挂载出来的文件都是只读模式,无法修改,怎么办呢

root@ubuntu:~# mkdir /tmp/my_iso

root@ubuntu:~# rsync -a /mnt/* /tmp/my_iso/

Linux之自定义ISO镜像文件制作

拷贝镜像文件

root@ubuntu:/tmp/my_iso# mkisofs -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4 -c isolinux/boot.cat -o /media/my_iso.iso -joliet-long ./

Linux之自定义ISO镜像文件制作

制作安装系统的ISO镜像文件

至此,可以开机启动的iso制作好了,在这个过程中,小编没有对此镜像文件进行更改,有需要的朋友们,可以自定义镜像,添加自己的文件(这就解释了为什么刚装好的镜像会自带一些流氓软件了)

光盘烧录工具

至于光盘烧录工具命令行可以实现,客户端也可以实现,目前大多使用客户端,简单方便不易出错,这里介绍几个客户端

  1. ubuntu:usb-creator-gtk

  2. windows:UltraIso软件

  3. 终端命令行工具(支持ubuntu,centos):wodim指令

烧录这一步是最简单的,相信稍微有点基础的都可以实现,比较有技术含量的是制作镜像文件,小编已经亲自把流程走了一遍,并且使用virtualbox安装了iso镜像文件,可以正常使用。

有什么问题评论区交流后者私信我需要或者以后可能会用到的朋友们可以收藏一下,顺便点个赞,关注一波呗,写文章不易,谢谢各位!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多