定制CentOS5.3系统安装盘

时间:2022-02-27 05:48:30

http://sys.firnow.com/linux/x8002010n06m/15s9087985.html

要定制一张属于自己的 CentOS盘,网上找了一些资料,可都出现不完整或者错误,总之不能成功定制(或许操作有异),下面是结合网络资料加上自己的修改最终定制成功的步骤, 留下以备不时之需。

 

准备工作:

VMware // 虚 拟机,安装过程可以随意设置,错了可以再来

Secure  //  串口、SSH连接工具(本实验用Putty即可)

下载一份DVDCentOS5.3 Linux系统(即.ISO文件)

===================================================

1、在VM安装linux系统
2
、安装anaconda repodata createrepo mkisofs , 关联太多采用yum安装//定制过程需要产生comps.xml文件以及生成iso

[root@localhost ~]# yum -y install anaconda repodata createrepo mkisofs

2、生成packages.list 所安装的RPM包文件清单(由于install.log文件在root目录,所以该操作在root目录进行)

[root@localhost ~]# cat install.log | grep Installing | sed 's/Installing //g' > /root/packages.list

 

//生成后,需要仔 细看该文件,一般会在某些文件开始部分如“1:”这样的字符, 需要删除这些字符,否在后面执行copy动作会报错

3、建立定制Centos的源目录

[root@localhost ~]#mkdir /disk                          //定制时要复制RPM包的目录;
[root@localhost ~]#mkdir /mnt/cdrom                      //
加载光驱目录
[root@localhost ~]#mount -o loop /dev/cdrom /mnt/cdrom     //
将光盘内容加载到/mnt/cdrom中;

[root@localhost ~]#cp –R /mnt/cdrom/. /disk

[root@localhost ~]#rm –f /disk/CentOS/*.rpm  //先删除所有RPM


4
、通过脚本复制系统安装的包;(注意一定要Unix格式)

[root@localhost ~]#vi copyrpms.sh
#!/bin/bash
DEBUG=0
DVD_CD=/disk/CentOS                     

ALL_RPMS_DIR=/mnt/cdrom/CentOS/       
DVD_RPMS_DIR=$DVD_CD
packages_list=/root/packages.list
number_of_packages=`cat $packages_list | wc -l`
i=1
while [ $i -le $number_of_packages ] ; do
line=`head -n $i $packages_list | tail -n -1`
name=`echo $line | awk '{print $1}'`
version=`echo $line | awk '{print $3}' | cut  -f  2  -d  :`
if [ $DEBUG -eq "1" ] ; then
echo $i: $line
echo $name
echo $version
fi

        if [ $DEBUG -eq "1" ] ; then
ls $ALL_RPMS_DIR/$name-$version*
if [ $? -ne 0 ] ; then
echo "cp $ALL_RPMS_DIR/$name$version* "
fi
else
echo "cp $ALL_RPMS_DIR/$name-$version* $DVD_RPMS_DIR/"
cp $ALL_RPMS_DIR/$name$version* $DVD_RPMS_DIR/
# in case the copy failed
if [ $? -ne 0 ] ; then
echo "cp $ALL_RPMS_DIR/$name$version* "
cp $ALL_RPMS_DIR/$name* $DVD_RPMS_DIR/
fi
fi
i=`expr $i + 1`
done

将以上内容保存为copyrpms.sh

[root@localhost ~]#chmod 775 copyrpms.sh
[root@localhost ~]#./copyrpms.sh

经过一系列的复制就完成了你要定 制的RPM包(在/disk/CentOS/目录下);

5、定制安装控制文 件ks.cfg

一般方便可以直接由root下面的anaconda-ks.cfg修改

[root@localhost ~]#cp anaconda-ks.cfg /disk/ks.cfg

样例内容如:

# Kickstart file automatically generated by anaconda.

 

install

cdrom

lang en_US.UTF-8

keyboard us

network --device eth0 --bootproto dhcp

firewall --disabled

authconfig --enableshadow --enablemd5

selinux --disabled

timezone --utc Asia/Shanghai

bootloader --location=mbr --driveorder=sda

# The following is the partition information you requested

# Note that any partitions you deleted are not expressed

# here so unless you clear all partitions first, this is

# not guaranteed to work

#clearpart --linux --drives=sda

#part /boot --fstype ext3 --size=100 --ondisk=sda

#part pv.6 --size=0 --grow --ondisk=sda

#volgroup VolGroup00 --pesize=32768 pv.6

#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow

#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=4032

 

%packages

@mysql

@core

@base

@network-server

@web-server

 

%post

 

 

echo "HOSTNAME=freepp.local" >> /etc/sysconfig/network

echo "# Do not remove the following line, or various programs" > /etc/hosts

echo "# that require network functionality will fail." >> /etc/hosts

echo "127.0.0.1         localhost" >> /etc/hosts

echo "127.0.0.1         freepp.local" >> /etc/hosts

 

 

eject

 

reboot

6、修改isolinux.cfg文件 // /disk/isolinu/目录下的isolinux.cfg文件第一行default linux修改成default linux ks=cdrom:/ks.cfg

样 例文件如:

default linux ks=cdrom:/ks.cfg

prompt 1

timeout 60

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

label local

  localboot 1

label memtest86

  kernel memtest

  append -

7、生成comps.xml

[root@localhost ~]# cd /disk/                             

[root@localhost ~]# createrepo -g repodata/comps.xml /disk/    

到此以上定制任务已经完成。

8、制作IOS文件

[root@localhost ~]#cd /disk/

[root@localhost disk]#mkisofs -o MyCentOS.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /disk/

 

/disk/ 目录 下产生的MyCentOS.iso 生成的ISO文件。

 

保证成功率,不妨用此ISO在虚 拟机上安装试验。