CentOS5.5系统定制
1 原理介绍
CentOS的定制安装的实现原理:安装时按照自己写好的kickstart(简称ks)脚本来安装iso。
由于通过ks只会安装ks中写的rpm包,所以可以减少iso中rpm包的数量。
要完成定制需要明白以下几个问题
1) Q如何获取ks脚本?
A 安装好的CentOS5.5系统中,在root目录下有anaconda-ks.cfg文件。这个就是此系统的安装相对的ks脚本。
2) Q如何设置iso通过ks来安装?
A在iso包中的isolinux/isolinux.cfg,通过修改可以支持ks安装。
3) Q如何获取ks中需要的包?
A 安装好的CentOS5.5系统中,在root目录下有install.log文件。这个文件记录了此系统的安装时安装的所有rpm包。
综上所述,定制必须有一个已经安装好并且是定制安装的CentOS系统。建议使用VMware。
2 定制教程
2.1 创建定制iso目录
#mkdir -p /root/iso/CentOS
#mount -o loop /dev/cdrom /mnt 挂载镜像
#rsync -av --exclude=CentOS /mnt/ /root/iso 除rpm源码包目录其他都拷贝到工作目录
2.2 拷贝ks脚本
#cp anaconda-ks.cfg /root/iso/ks.cfg
下图为工作目录的结构
2.3 添加ks安装
#cd /root/iso/isolinux
#chmod 666 isolinux.cfg
#vim isolinux.cfg
修改如下
default ks
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img ks=cdrom:/ks.cfg
label local
localboot 1
label memtest86
kernel memtest
append -
注:加一个ks=cdrom:/ks.cfg就行,default代表安装模式
2.4 复制所有的ks rpm包到CentOS下
下面是复制的脚本package.sh
#!/bin/bash
cd /root
awk '/Installing/{print $2}' install.log | sed 's/^[0-9]*://g' >package.txt
DVD='/mnt/CentOS'
PACKDIR='/root/package.txt'
NEW_DVD='/root/iso/CentOS/'
while read LINE
do
cp ${DVD}/${LINE}*.rpm /${NEW_DVD} || echo "$LINE don't cp......."
done < package.txt
rm -f package.txt
2.5 生成新的rpm依赖
安装createrepo
# yum -y install createrepo
#cd /root/iso
#createrepo -g repodata/comps.xml ./
2.6 制作新的iso文件
安装mkisofs
# yum -y install mkisofs
#cd /root/iso
#mkisofs -o LSOS.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T ./
2.7 测试iso
在iso测试安装