【Linux】CentOS5.5系统定制

来源:互联网 发布:access数据库sql查询 编辑:程序博客网 时间:2024/04/30 07:38

CentOS5.5系统定制

原理介绍

CentOS的定制安装的实现原理:安装时按照自己写好的kickstart(简称ks)脚本来安装iso

由于通过ks只会安装ks中写的rpm包,所以可以减少isorpm包的数量。

要完成定制需要明白以下几个问题

1) Q如何获取ks脚本?

安装好的CentOS5.5系统中,在root目录下有anaconda-ks.cfg文件。这个就是此系统的安装相对的ks脚本。

2) Q如何设置iso通过ks来安装?

Aiso包中的isolinux/isolinux.cfg,通过修改可以支持ks安装。

3) Q如何获取ks中需要的包?

安装好的CentOS5.5系统中,在root目录下有install.log文件。这个文件记录了此系统的安装时安装的所有rpm包。

综上所述,定制必须有一个已经安装好并且是定制安装的CentOS系统。建议使用VMware

定制教程

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测试安装

原创粉丝点击