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

这一节主要介绍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镜像文件目录映射关系

-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之自定义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镜像文件

光盘烧录工具

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

  1. ubuntu:usb-creator-gtk

  2. windows:UltraIso软件

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


分享到:


相關文章: