以下是在虚拟机环境下进行的。
1、在VM安装linux系统
2、安装定制工具anaconda repodata createrepo mkisofs
关联太多采用yum安装//定制过程需要产生comps.xml文件以及生成iso
[root@localhost ~]# yum -y install anaconda repodata createrepo mkisofs
3、生成packages.list 所安装的RPM包文件清单
(由于install.log文件在root目录,所以该操作在root目录进行)
[root@localhost ~]# cat install.log | grep Installing | sed 's/Installing //g' > /root/packages.list
//生成后,需要仔细看该文件,一般会在某些文件开始部分如“1:”这样的字符,需要删除这些字符,否在后面执行copy动作会报错
4、建立定制Centos的源目录
[root@localhost ~]#mkdir /Disk //定制时要复制RPM包的目录;
www.ixdba.net
[root@localhost ~]#mkdir /mnt/cdrom //加载光驱目录
[root@localhost ~]#mount -o loop /dev/cdrom
/mnt/cdrom //将光盘内容加载到/mnt/cdrom中;
[root@localhost ~]#cp –R /mnt/cdrom/. /Disk
切记,要把光盘中的“.discinfo”文件拷贝过来,如果没有拷贝此文件,在用光盘安装时会提示如下错误:“The CentOS CD was not found in any of your CDROM drives. Please insert the CentOS CD and press OK to retry.”
[root@localhost ~]#rm –f /Disk/CentOS/*.rpm //先删除所有RPM包
5、通过脚本复制系统安装的包
(注意一定要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