1. 程式人生 > >UBUNTU如何做成系統映象檔案

UBUNTU如何做成系統映象檔案

硬體:ubuntu14.04.1
安裝工具:
sudo apt-get install squashfs-tools genisoimage
UCloner是針對 Ubuntu Linux 編寫的一個系統備份、恢復、克隆、批量部署工具;
可將 ubuntu 系統備份為 squashfs 映像檔案,也可從映像檔案中恢復系統,與 GHOST 類似;
可以直接將系統克隆到其它硬碟分割槽;
可用來製作 Live 系統;
同時具有命令列和圖形介面,以滿足不同使用者需求;
ucloner
檔案內容修改:
檔案ubuntu-cloner-main.sh中:
target_file_0="$target_dir/ubuntu-cloner-$
(date +%Y%m%d%H%M%S)"
會把系統備份為一個跟時間相關的文件,改一下讓它備份為固定檔名:
target_file_0="$target_dir/systembak"
檔案中的:
 newhostname="$oldhostname-$(date +%Y%m%d%H%M%S)"
會把還原後系統的hostname改為一個時間相關的名字,我希望保留原來的主機名:
newhostname="$oldhostname"
具體操作步驟:
1、將上述修改後的cloner檔案放在/home/iwaves/Public/clone資料夾下
(1)在虛擬機器中安裝ubuntu系統,安裝的使用者名稱為iwaves,並安裝所需的軟體
(2)清理系統垃圾,系統最近文件記錄,瀏覽器臨時檔案等,並用janitor清理多餘的包。
(3)使用ubuntu cloner備份系統。這裡備份為/home/iwaves/Public
systembak.tar或者/home/iwaves/Public/systembak.squashfs。
備份命令:
(1)、cd /home/iwaves/clone
(2)、清除bash的歷史記錄並啟動ubuntu-cloner:
rm /home/kangho/.bash_history && sudo ./ubuntu-cloner-gui.py 
製作自定義的安裝光碟:
1、把ubuntu-14.04.1-desktop-i386
.iso拷貝到 /home/iwaves/
2、掛載ISO
(1)mkdir mnt
(2)sudo mount -o loop ubuntu-14.04.1-desktop-i386.iso mnt/
3、同步光碟內容
(1)mkdir extract-cd
(2)rsync --exclude=/casper/filesystem.squashfs -a mnt/extract-cd
4、解壓/casper/filesystem.squashfs
(1) sudo unsquashfs mnt/casper/filesystem.squashfs
(2)sudo mv squashfs-root edit
5、在要生成新的/casper/filesystem.squashfs 的資料夾edit中新增資料夾/home/kangho/Public/clone
sudo mv Public/clone/ edit
6、生成新的/casper/filesystem.squashfs
sudo mksquashfs edit extract-cd/casper/filesystem.squashfs -nolzma
7、更新光碟md5檔案
(1) cd extract-cd/
(2)sudo rm md5sum.txt 
(3) find -type f -print0 | sudo xargs -0 md5sum | grep -v ./isolinux/ | grep -v ./md5sum.txt | sudo tee md5sum.txt
8、生成新的ISO
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-14.04.1-desktop-i386.iso .
9、使用虛擬機器(如virtualbox)測試iso檔案。主要測試其光碟的完整性自校驗是否正確,以及能否正常安裝。
10、燒錄ISO
光碟製作詳細(詳細設定)
https://help.ubuntu.com/community/LiveCDCustomization