需求:CenOS自动化安装的镜像,并把需要的业务依赖包全打包进去
Step1:
首先我们来看看环境准备:
1、一台刚安装好的、符合业务要求的系统(选择的是minimal最小化安装,这个看个人需求了)
2、新装系统的/root目录下 install.log和 anaconda-ks.cfg文件,之后会用到
3、需要添加的安装包
4、CentOS 6.5镜像文件或者光盘
5、安装工具包
[root@localhost ~]# yum -yinstall anaconda repodata createrepo mkisofs rsync |
createrepo yum源管理工具—
挂载ISO文件:
创建工作目录、并将iso文件拷贝到工作目录中(原因你懂的):
创建Packages目录存放系统里面已安装的包,创建MyPackages目录存放自定义安装包:
Step2:其次学习如何定制系统
首先看一下root目录下的文件:
a)、centos系统在安装包时,包名都记录在root目录install.log文件里,我们可以从中提取出来系统定制的安装包
awk'/Installing/{print $2}' /root/install.log | sed's/^[0-9]*://g' >/root/package.txt |
b)、anaconda-ks.cfg记录了在安装系统时填写的参数和选项,即你在安装系统时选择分区、时区、设置用户密码等一系列操作,存放在/root目录,我们直接对由系统安装所创建的anaconda-ks.cfg进行修改,当然也可以用system-config-kickstart工具制作而成。
[root@localhost ~]# cp anaconda-ks.cfg /home/wy/centos_wy |
Step4: 定制安装包
centos系统在安装包时,包名都记录在root目录install.log文件里,我们可以从中提取出来。
从挂载的光盘镜像中提取出需要的安装包,放到工作目录下的/Packages目录里
[root@localhost ~]# cat test.sh #!/bin/bash Packages='/mnt/Packages' #挂载的光盘镜像中存放安装包的路径 i='工作目录/Packages/' #新镜像存放安装包的路径 while read line do cp ${Packages}/${line}*.rpm /${i} || echo "$line don't cp......." done < /root/package.txt
[root@localhost ~]# sh test.sh |
Step5:定制配置选项--修改anaconda.cfg文件
Step6: 创建yum源—生成repodata目录
repodata是一个目录,里面包含了一个以 .xml结尾的文件,这个文件是yum索引文件,包含了rpm包的一些信息,比如依赖关系这些的。通过它用yum安装才能在自动解决依赖关系。一般iso里面会自带有repodata目录。如果没有就手动生成了。
使用createrepo命令创建定制的yum源(这一步可以直接拷贝定制系统的comps.xml文件)
1)cd 原文件夹/repodata
2)cp *comps.xml comps.xml
3)mv comps.xml ../指定目录
4)修改comps.xml
给出一个模板,如下附件为添加qemu-kvm需要的依赖包
4)rm -rf source/repodata
createrepo-g comps.xml ./指定目录
Step7: 将定制好的系统打包成ISO文件,并加密:
[root@localhost ~]# mkisofs -o CentOS.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v –T /home/wy/centos_wy (工作目录) [root@localhost ~]# implantisomd5 CentOS.iso |
下面我会将制作过程和详细截图信息做相关补充
参考文章:http://www.cnblogs.com/dengtr/p/5543820.html
原文链接:https://www.f2er.com/centos/380274.html