制作CentOS 6.5一键自安装ISO镜像光盘

因为工作中需要经常安装系统并且会有一些定制的系统包和软件。定制ISO可以大大减轻运维的负担。本文以Centos 6.5制作为例

0x01 系统安装包说明

目录树结构
|– .discinfo
|– .treeinfo
|– Packages
|– base
|– images
|– isolinux
|– ks.cfg
|– repodata

.discinfo 文件是安装价质的识别信息
.treeinfo 文件是系统版本,创建时间及文件目录树结构信息
Packages目录存放安装软件包及信息
base 目录存放定制脚本及包信息
images 目录包括了必要的启动映像文件
isolinux 目录存放光盘启动时的安装界面信息
ks.cfg 文件是无人值守自动化安装配置文件

0x02 挂载光盘

1、先到官网下载所需的ISO版本。点击这里下载
2、安装制作发行版的工具

$ yum -y install anaconda repodata createrepo mkisofs rsync

3、挂载光盘,同步文件

$ mkdir /mnt/cdrom
$ mount -o loop CentOS-6.5-x86_64-bin-DVD1.iso /mnt/cdrom/   ##挂载iso到/mnt/cdrom文件下
$ /usr/bin/rsync -a --exclude=Packages/ --exclude=repodata/ /mnt/cdrom/ /ISO/ ##同步/mnt/cdrom/下的文件到ISO/路径下,除了Packages和repodata文件夹
$ mkdir -p /ISO/{Packages,repodata}  ##在ISO/文件夹下新建Packages和repodata文件夹

4、使用脚本拷贝相关软件包到/ISO/Packages目录下
注:脚本中的install.log文件可以从/root目录下获取,目的是可以删除不必要的rpm包

#!/bin/bash 
cd /root
awk '/Installing/{print $2}' install.log | sed 's/^*://g' >package.txt 
DVD='/mnt/cdrom/Packages'
NEW_DVD='/ISO/Packages'
while read LINE 
do
cp ${DVD}/${LINE}*.rpm /${NEW_DVD} || echo "$LINE don't cp......."
done < package.txt 
rm -f package.txt 

0x03 定制安装脚本ks.cfg文件

下载地址:ks.cfg根据需求不同,配置也不一样。本ks文件只是做了简单的磁盘分区和定制一些rpm安装

0x04 修改isolinux.cfg文件

# vim isolinux/isolinux.cfg
 label linux
 menu label ^Install or upgrade an existing system
 menu default
 kernel vmlinuz
 append ks=cdrom:/ks.cfg initrd=initrd.img    ##修改成定制ks.cfg所在目录

0x05 生成comps.xml文件

1、进入/mnt/cdrom/repodata 目录,将“*-x86_64-comps.xml”文件拷贝到/ISO/repodata路径下,并重命名成comps.xml。由于centos6.5下的comps.xml文件名很长,这里“*”为省略符,实际操作时输入完整文件名。

$ cp /mnt/cdrom/repodata/*-x86_64.xml  /ISO/repodata/comps.xml

2、切换到ISO/路径下,生成comps.xml文件

$ createrepo -g repodata/comps.xml ./

注:如果有新增或删除了Packages目录的RPM包,请重新生成comps.xml文件

0x06 生成ISO文件

到这步实际定制配置系统的工作已经完成了。下面就是生成一个ISO镜像文件,便于刻录到光盘中进行安装。

$ mkisofs -o CentOS-6.5_x86_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /ISO/

注:/ISO/目录下产生的CentOS-6.5_x86_64.iso就是生成的ISO文件,路径和ISO名称都可以自定义。

0x07 生成ISO文件MD5值

$ /usr/bin/implantisomd5 /ISO/CentOS-6.5_x86_64.iso

博客地址:http://yangfannie.com

    原文作者:聂扬帆博客
    原文地址: https://www.jianshu.com/p/682308ba083e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞