制作自定义ISO

工作中经常需要安装操作系统,并且会有一些定制的软件包。根据实际需求制作自定义ISO,可以大大减轻运维工作的负担。本文将以Centos 6.8制作为例,仅供大家参考,如有疑问欢迎评论,我会第一时间回复大家。

一、系统安装包说明

目录树结构

|-- .discinfo

|-- .treeinfo

|-- CentOS

|-- base

|-- images

|-- isolinux

|-- ks.cfg

|-- repodata

说明:

.discinfo 文件是安装价质的识别信息

.treeinfo 文件是系统版本,创建时间及文件目录树结构信息

CentOS目录存放安装软件包及信息(Centos 6版本的名称是Packages)

base 目录存放定制脚本及包信息

images 目录包括了必要的启动映像文件

isolinux 目录存放光盘启动时的安装界面信息

ks.cfg 文件是无人值守自动化安装配置文件

二、挂载光盘

1、先到官网下载所需的ISO版本。点击这里下载,这里使用的是CentOS-6.8-x86_64-bin-DVD1.iso

2、安装制作发行版的工具

$ yum install -y anaconda repodata createrepo mkisofs rsync

3、挂载光盘,同步文件

$ mkdir /mnt/cdrom

$ mount -o loop CentOS-6.8-x86_64-bin-DVD1.iso /mnt/cdrom/   ##挂载iso到/mnt/cdrom文件下

$ 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
 

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


四、修改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所在目录

五、生成comps.xml文件
1、进入/mnt/cdrom/repodata 目录,将“*-x86_64-comps.xml”文件拷贝到/ISO/repodata路径下,并重命名成comps.xml。由于centos6.8下的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文件


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

$ mkisofs -o CentOS-6.8_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.8_x86_64.iso就是生成的ISO文件,路径和ISO名称都可以自定义。


七、生成ISO文件MD5值

$ implantisomd5 /ISO/CentOS-6.8_x86_64.iso

Q&A

1、安装提示找不到disc

原因:可能是因为隐藏文件没有copy走,所以iso目录内缺少隐藏文件.discinfo导致

解决办法:找到原有ISO的.discinfo文件,copy过去,重新生成ISO即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值