从网上下载一份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) |