> CentOS > CentOS入门 >

定制CentOS5.3 ServerCD系统安装盘

从网上下载一份DVD版CentOS5.3 Linux系统下来,光盘容量3.7G,其实我们一般用不到光盘中的所有内容,我们一般只会用到其中一部份,那么可不可以把安精简成一张自己实用的CD就可以呢?以下就是定制的方法:(定制图型介面这里暂时没有涉及到)
1、安装完linux后,更新安装包;
yum -y install anaconda repodata createrepo mkisofs

2、进入到ROOT目录中

cat install.log | grep Installing | sed 's/Installing //g' > /home/packages.list



awk '/Installing/{print $2}' install.log |sed 's/^[0-9]*://g' >/home/packages.list

注:例如error.log有如下内容:

aaaa  bbbb cccc dddd

aaaa  bbbb cccc dddd

#找到以aaaa开头的记录并保存到errorlist.log

awk '/aaaa/{print $2}' error.log >>errorlist.log 

3、在/home/建立Centos相关的目录;
#mkdir /home/rpms                          #//定制时要复制RPM包的目录;
#mkdir /mnt/cdrom                           #//加载光驱目录
#mount /dev/cdrom /mnt/cdrom     #//将光盘内容加载到/mnt/cdrom中;

4、通过脚本复制系统安装的包;
vi copyrpms.sh
#!/bin/bash
DEBUG=0
DVD_CD=/home/rpms                                  #//目标地址,即要复制到的地方;
ALL_RPMS_DIR=/mnt/cdrom/CentOS/         #//源目录,以CentOS 5.3为例;
DVD_RPMS_DIR=$DVD_CD
packages_list=/home/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

#chmod 775 copyrpms.sh
#./copyrpms.sh
经过一系列的复制就完成了你要定制的RPM包;

5、复制光盘的内容到/home/OS目录下:
#mkdir /home/OS
#cp -rf /mnt/cdrom/* /home/OS/             //复制完成后删除OS目录下的CentOS下的所有内容(RPM包);
                                                            //为了减少复制时间,可以单个目录的复制,不复制CentOS目录;
#cp -rf /home/rpms/  /home/OS/CentOS/     //将要定制的RPM包复制到此目录中;

5、生成comps.xml
cd /home/OS/                              //你放要刻的系统的目录;
# createrepo -g repodata/comps.xml .      //注:此处要先看清楚comps.xml所以的目录; 
399/399 - SRPMS/...........................
Saving Primary metadata
Saving file lists metadata
Saving other metadata
到此以上定制任务已经完成。


6、制作IOS文件
#cd /home/

#mkisofs -R -J -T -r  -l -d -allow-multidot -allow-leading-dots -no-bak -o ServerDVD-i386.iso -b isolinux/isolinux.bin -c isolinux/boot.cat    -no-emul-boot -boot-load-size 4 -boot-info-table /home/OS/

注:最后的/home/OS/ 是定制的系统所在目录;

以上经过实践成功制用CD,贴出来以供有需要的朋友参考!!如果成功请留下你的脚印!!


(责任编辑:IT)