使用Ubuntu有些年數了,感覺ubuntu做的還是可以的,但是有一個問題比較困難,就是裝系統。裝系統,裝軟件很多人都會,但是很麻煩,系統要裝,驅動要裝,軟件要裝,插件要裝。熟練的話可能也要忙活半天。linux本身會用的人就不多,裝起來又這麼麻煩,嚴重影響linux的推廣。ubuntu在易用性上已經做的不錯了,但是完全不夠。下面將要介紹一種基於ubuntu9.04的克隆安裝方法,當然不局限於9.04,只是個人唯獨喜歡9.04,之後的版本被改的很不和本人的品味了。方法研究的很透徹了,所以介紹給大家,幫大家避免一些不必要的麻煩。
安裝必要的工具:
sudo aptitude install squashfs-tools genisoimage獲取官方的系統:Download an official Desktop CD from http://releases.ubuntu.com/
UCloner 是針對 Ubuntu Linux 編寫的一個系統備份、恢復、克隆、批量部署工具;
可將 ubuntu 系統備份為 squashfs 映像文件,也可從映像文件中恢復系統,與 GHOST 類似;
可以直接將系統克隆到其它硬盤分區;
可用來制作 Live 系統;
同時具有命令行和圖形界面,以滿足不同用戶需求;
UCloner 是開源軟件,遵循 GPL v2 協議。項目主頁: http://code.google.com/p/ucloner/
這裡使用3.3.7的版本來完成,個人對其並不完全滿意,所以對其進行略微的修改:
文件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"
下面介紹具體的操作步驟,要用到的東西還有ubuntu-9.04-desktop-amd64.iso,就是ubuntu的live CD。自己根據自己使用的版本進行調整。在下面的步驟中,用戶名為kangho,Ubuntu cloner修改後的文件被放在/home/kangho/Public/clone/。
(1)在主機上安裝ubuntu,這裡安裝的用戶名為kangho。安裝驅動,軟件,進行系統配置。
(2)清理系統垃圾,系統最近文檔記錄,浏覽器臨時文件等,並用janitor清理多余的包。
(3)使用ubuntu cloner備份系統。這裡備份為/home/kangho/Public/systembak.tar或者/home/kangho/Public/systembak.squashfs。
備份命令為:
www.linuxidc.com@linuxidc-desktop:~$ cd /home/kangho/clone/
www.linuxidc.com@linuxidc-desktop:~$ history -c && rm /home/kangho/.bash_history && sudo ./ubuntu-cloner-gui.py
這個命令目的是清除bash的歷史記錄並啟動ubuntu-cloner。
(4)制作自定義的安裝光盤。
<1>把ubuntu-9.04-desktop-amd64.iso拷貝到/home/kangho/。
<2>掛載iso
www.linuxidc.com@linuxidc-desktop:~$ mkdir mnt
www.linuxidc.com@linuxidc-desktop:~$ sudo mount -o loop ubuntu-9.04-desktop-amd64.iso mnt/
<3>同步光盤內容(/casper/filesystem.squashfs被排除在外)
www.linuxidc.com@linuxidc-desktop:~$ mkdir extract-cd
www.linuxidc.com@linuxidc-desktop:~$ rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
<4>解壓/casper/filesystem.squashfs
www.linuxidc.com@linuxidc-desktop:~$ sudo unsquashfs mnt/casper/filesystem.squashfs
www.linuxidc.com@linuxidc-desktop:~$ sudo mv squashfs-root edit
<5>在要生成新的/casper/filesystem.squashfs 的文件夾edit中添加文件夾/home/kangho/Public/clone
www.linuxidc.com@linuxidc-desktop:~$ sudo mv Public/clone/ edit
<6>生成新的/casper/filesystem.squashfs
www.linuxidc.com@linuxidc-desktop:~$ sudo mksquashfs edit extract-cd/casper/filesystem.squashfs -nolzma
<7>更新光盤md5文件
www.linuxidc.com@linuxidc-desktop:~$ cd extract-cd/
www.linuxidc.com@linuxidc-desktop:~/extract-cd$ sudo rm md5sum.txt
www.linuxidc.com@linuxidc-desktop:~/extract-cd$ find -type f -print0 | sudo xargs -0 md5sum | grep -v ./isolinux/ | grep -v ./md5sum.txt | sudo tee md5sum.txt
<8>生成新的iso
www.linuxidc.com@linuxidc-desktop:~/extract-cd$ 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-9.04-desktop-amd-custom.iso .
<9>使用虛擬機(如virtualbox)測試iso文件。主要測試其光盤的完整性自校驗是否正確,以及能否正常安裝。
<10>刻錄iso
(5)關於光盤使用。
<1>從光盤啟動選擇試用ubuntu。
<2>若原來硬盤沒有分區則ubuntu啟動後要適用system->administration->Partition Editor進行分區。建立一個主分區(ext3...)來安裝文件系統,建立一個擴展分區來添加一個swap分區(更多關於分區的知識自己搜索一下)。
<3>分區後打開一個終端
cd /clone
sudo ./ubuntu-cloner-gui.py啟動ubuntu cloner進行安裝。如果要保留原來/home(包含桌面)中的文件在安裝過程中選擇使用原來文件系統不格式化。
一份關於光盤制作的終端記錄如下:
ubuntu clone command line
http://www.linuxidc.com/Linux/2011-04/34098p2.htm
需要對光盤做更多修改請參考下文
How to Customise the Ubuntu Desktop CD
https://help.ubuntu.com/community/LiveCDCustomization
本文重點講述制作光盤的過程,其它不明白的可以自己查詢一下。此方法在不影響原來live cd功能的前提下為光盤添加系統克隆功能。
此方法的產生要感謝debian ,ubuntu ,ubuntu cloner的所有開發人員。
部分截圖解如下: