感谢支持
我们一直在努力

Ubuntu 10.10 定制自己的LiveCD

最近突发奇想,打算定制一个Ubuntu 10.10桌面最小系统,并且将其制成LiveCD。以下是我的制作过程。


1.首先要下载ubuntu-10.10-alternate-i386.iso和ubuntu-10.10-desktop-i386.iso镜像,之所以要用2个镜像是因为需要通过ubuntu-10.10-alternate-i386.iso来安装命令行系统,再在命令行的基础上安装X11环境和GNOME环境,而ubuntu-10.10-desktop-i386.iso则是用来制作LiveCD。alternate版和desktop版的区别在http://www.linuxidc.net/thread-164-1-1.html有详细的介绍,主要就是安装原理的不同desktop版相当于一个LiveCD,安装时就是从光盘将Ubuntu系统“恢复”到硬盘,而alternate版才是真正意义上的安装程序,并且可以只安装命令行系统。


2.用ubuntu-10.10-alternate-i386.iso引导开机,选择好语言后,按F4选择安装模式为“安装命令行系统”,再按“安装Ubuntu”,就可以开始了。


3.安装完,重启后执行 $sudo apt-get update 更新源下载文件,再执行


$sudo apt-get install openssh-server


安装ssh server,


4.下载并安装X-window环境,执行


$sudo apt-get install x-window-system-core


5.再就要安装显卡驱动了,由于我用的VMWare虚拟机的显卡驱动已经被Ubuntu集成了,所以这一步可以跳过


6.安装GNOME桌面环境


$sudo apt-get install gnome-core


安装gnome-core需要的包较多,可能会下载比较长的时间


7.安装Compiz窗口管理器


$sudo apt-get install compiz


按道理这个不需要装的,但是不安装的话,ubuntu新开窗口不能移动,缩放。


8.安装输入法管理器与小企鹅输入法


     $sudo apt-get install im-switch


     $sudo apt-get install fcitx


某些情况下可能,在安装了fcitx输入法以后可能会出现和SCIM并存的问题,只要用im-switch把默认输入法改成fcitx就可以了:
     $sudo im-switch -a fcitx
     $im-switch -a fcitx


9.设置英语界面中文输入环境,如果不需要输入汉字的话,8、9两步可以省略


     $sudo vim.tiny /etc/environmont


     添加LC_CTYPE=zh_CN.UTF-8


10.安装中文字体(如果执行了第8步,这一步可以省略)


$sudo apt-get install ttf-arphic-uming


11.现在运行$sudo startx就可以进入Ubuntu的图形界面了。第一次进入界面,会看到”OAFILD:Gnome_FastUserSwitch Applet”的出错窗口,这实际上是一个快速切换用户的功能包,要解决的话,要执行


$sudo apt-get install indicator-applet-session


12.再安装gdm这样下次重启就能直接进入GNOME界面了,


$sudo apt-get install gdm


也可以把startx写到/etc/rc.d/local下

13.执行$sudo apt-get clean,再执行df -h可以看到装完整个系统用了大约1.2G的空间。


安装系统到此可以告一段落了,下面就可以开始制作LiveCD了。前文已经说过,Ubuntu-10.10-desktop-i386.iso实际上就是一个现成的LiveCD,我们只要利用它的结构,就可以方便快捷的生成自己的最小系统LiveCD了。这里主要做的事情是首先将已安装操作系统上的文件备份成一个squashfs归档文件,然后将ubuntu-10.10-desktop-i386.iso里的内容拷贝出来,用新的squashfs文件替换掉里面已有的文件,再调整一些配置,然后将其生成新的ISO文件,再将其刻录成CD或者制成USB引导盘,这个过程就算大功告成了。


1.将当前操作系统备份成squashfs归档文件,有很多工具,其中最简便的就数国内某大牛写的Live Ubuntu Backup V2.2了,尤其是它还支持中文提示,在http://www.linuxidc.com/Linux/2011-04/34096.htm   可以看到使用说明。这是一个shell脚本写成的Ubuntu备份工具,直接运行即可。


将lub拷贝到/home下,$sudo chmod 777 /home/lub 然后执行$sudo /home/lub -b,然后按e或c来选择是英文提示,还是中文提示。第一次执行时,可能会提示需要安装lupin-casper和squashfs-tools,其中lupin-casper可以忽略,而squashfs-tools必须安装,运行$sudo apt-get install squashfs-tools即可。


之后再次运行$sudo /home/lub -b,依提示运行,就能在用户文件夹下生成一个backup-2011.01.05的目录了,其中有的backup-2011.01.05.squashfs文件就是我们想要的。


2.再将ubuntu-10.10-desktop-i386.iso拷贝到用户目录下,比如/home/jxg/下,


  创建一个目录,用来挂载ubuntu-10.10-desktop-i386.iso


$sudo mkdir /home/jxg/mnt ,


  将ISO挂载到/home/jxg/mnt下


$sudo mount -o loop /home/jxg/ubuntu-10.10-desktop-i386.iso /home/jxg/mnt


  创建一个livecd的工作目录


$sudo mkdri /home/jxg/livecd


  将mnt目录下casper/filesystem.squashfs以外的内容,同步的livecd工作目录上


$sudo rsync –exclude=/home/jxg/mnt/casper/filesystem.squashfs -a /home/jxg/mnt/ /home/jxg/livecd


下面,我们要对/home/jxg/livecd/casper/目录下的filesystem.squashfs、filesystem.manifest、filesystem.manifest-desktop这三个文件进行操作,由于它们只有读权限,所以先执行


$sudo chmod o+w /home/jxg/livecd/casper/filesystem.*


将刚才lub生成的那个backup-2011.01.05.squashfs文件,拷贝成/home/jxg/livecd/casper/filesystem.squashfs


执行:


$sudo cp /home/jxg/backup-2011.01.05/backup2011.01.05.squashfs /home/jxg/livecd/casper/filesystem.squashfs


此外,还要更新/home/jxg/livecd/casper/目录下的filesystem.manifest和filesystem.manifest-desktop,这两个文件实际上是LiveCD系统内所装包的列表,通过以下方式更新


$sudo dpkg -l | grep ii | awk ‘{print $2,$3}’ > /home/jxg/livecd/casper/filesystem.manifest


$sudo dpkg -l | grep ii | awk ‘{print $2,$3}’ > /home/jxg/livecd/casper/filesystem.manifest-desktop


实际上filesystem.manifest-desktop和filesystem.manifest是有所不同的,主要是少了ubiquity casper live-initramfs user-setup discover1 xresprobe os-prober libdebian-installer4这几个包,这里我将其忽略了。

3.退回的LiveCD的工作目录 /home/jxg/livecd 下,


执行


$cd /home/jxg/livecd


$sudo rm md5sum.txt


$find -type f -print0 | sudo xargs -0 md5sum | grep -v ./isolinux/ | grep -v ./md5sum.txt | sudo tee md5sum.txt


更新原有的md5sum


4.将工作目录下的内容打包成ISO


安装ISO打包工具


$sudo apt-get install mkisofs


将livecd内的内容打成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-jxg-test.iso .


这个一定要在工作目录的跟下执行,并且命令最后的 . 一定不要忘记。命令完成后,就可以在上一级的目录下发现ubuntu-jxg-test.iso文件了,大小为407MB


总结,实际上我的制作过程中,对包的选择比较粗放,很多包比如 indicator-applet-session 、 gdm 、fcitx包都可以不装,并且对linux的内核也没有裁剪,限于时间所限,目前只能做到这一步了,其实还有Ubuntu精简还有很大的潜力。我使用LXDE替代GNOME制作了一个LiveCD包,只有350多M,过程参见   基于LXDE的Ubuntu桌面最小系统LiveCD 。

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu 10.10 定制自己的LiveCD
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏