使用Ubuntu有些年数了,感觉ubuntu做的还是可以的,但是有一个问题比较困难,就是装系统。装系统,装软件很多人都会,但是很麻烦,系统要装,驱动要装,软件要装,插件要装。熟练的话可能也要忙活半天。linux本身会用的人就不多,装起来又这么麻烦,严重影响linux的推广。ubuntu在易用性上已经做的不错了,但是完全不够。下面将要介绍一种基于ubuntu9.04的克隆安装方法,当然不局限于9.04,只是个人唯独喜欢9.04,之后的版本被改的很不和本人的品味了。方法研究的很透彻了,所以介绍给大家,帮大家避免一些不必要的麻烦。
安装必要的工具:
sudo aptitude install squashfs-tools genisoimage获取官方的系统:Download an official Desktop CD from
UCloner 是针对 Ubuntu Linux 编写的一个系统备份、恢复、克隆、批量部署工具;
可将 ubuntu 系统备份为 squashfs 映像文件,也可从映像文件中恢复系统,与 GHOST 类似;
可以直接将系统克隆到其它硬盘分区;
可用来制作 Live 系统;
同时具有命令行和图形界面,以满足不同用户需求;
UCloner 是开源软件,遵循 GPL v2 协议。项目主页:
这里使用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。
备份命令为:
@linuxidc-desktop:~$ cd /home/kangho/clone/
@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
@linuxidc-desktop:~$ mkdir mnt
@linuxidc-desktop:~$ sudo mount -o loop ubuntu-9.04-desktop-amd64.iso mnt/
<3>同步光盘内容(/casper/filesystem.squashfs被排除在外)
@linuxidc-desktop:~$ mkdir extract-cd
@linuxidc-desktop:~$ rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
<4>解压/casper/filesystem.squashfs
@linuxidc-desktop:~$ sudo unsquashfs mnt/casper/filesystem.squashfs
@linuxidc-desktop:~$ sudo mv squashfs-root edit
<5>在要生成新的/casper/filesystem.squashfs 的文件夹edit中添加文件夹/home/kangho/Public/clone
@linuxidc-desktop:~$ sudo mv Public/clone/ edit
<6>生成新的/casper/filesystem.squashfs
@linuxidc-desktop:~$ sudo mksquashfs edit extract-cd/casper/filesystem.squashfs -nolzma
<7>更新光盘md5文件
@linuxidc-desktop:~$ cd extract-cd/
@linuxidc-desktop:~/extract-cd$ sudo rm md5sum.txt
@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
@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
需要对光盘做更多修改请参考下文
How to Customise the Ubuntu Desktop CD
https://help.ubuntu.com/community/LiveCDCustomization
本文重点讲述制作光盘的过程,其它不明白的可以自己查询一下。此方法在不影响原来live cd功能的前提下为光盘添加系统克隆功能。
此方法的产生要感谢debian ,ubuntu ,ubuntu cloner的所有开发人员。