大概步骤是把iso的文件都拷贝到系统中,然后提取出自己的系统所安装的rpm包。然后丢进去。生成comps.xml文件,然后刻盘。下面找的几个脚本
复制光盘
#!/bin/bash
ISOS_PATH=/data/CentOS5/ISOs
FILES_PATH=/data/CentOS5/CentOS5-DVD
for i in $( ls $ISOS_PATH/*.iso ); do
echo item: $i
mount -t iso9660 $i /mnt/iso -o ro,loop
cd /mnt/iso
tar -cf - . | ( cd $FILES_PATH ; tar -xvpf - )
cd $FILES_PATH
umount /mnt/iso
done
得到安装的软件包信息
cat install.log | grep Installing | sed 's/Installing //g' > /data/CentOS5/packages.list
拷贝系统安装的rpm包
copyrpms.sh
#!/bin/bash
DEBUG=0
DVD_CD=/data/CentOS5/CentOS5-DVD
ALL_RPMS_DIR=/data/RPMS
DVD_RPMS_DIR=$DVD_CD/CentOS
packages_list=/data/CentOS5/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
生成comps.xml
cd /data/CentOS5/CentOS5-DVD 你放要刻的系统的目录
createrepo -g repodata/comps.xml .
cp .olddata/* repodata/
rmdir .olddata
生成iso光盘
mkisofs -R -J -T -r -l -d -allow-multidot -allow-leading-dots -no-bak -o ../ISOs/CentOS-5.0.ServerDVD-i386.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .
不过我制作的系统总是启动不了。不知道谁能指点一二
阅读(763) | 评论(0) | 转发(0) |