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指令


分享到:


相關文章: