找回密码
 注册
搜索
热搜: 回贴
微赢网络技术论坛 门户 服务器 Linux/BSD 查看内容

centos server cd的制作

2009-12-20 13:43| 发布者: admin| 查看: 69| 评论: 0|原作者: 冰淇淋

大概步骤是把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 .

不过我制作的系统总是启动不了。不知道谁能指点一二




最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-10-1 01:24 , Processed in 0.133041 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部