制作centos镜像

一、下载CentOS镜像文件

CentOS镜像链接:http://vault.centos.org/

本文以CentOS 7.3为例

二、使用vmware安装centos

安装过程自行百度

三、制作ISO过程记录

1、CentOS虚拟机下挂载镜像

原文链接:https://blog.csdn.net/u013943420/article/details/71875489

1)查看是否有光盘挂载

ls -l /dev/cdrom |grepcd

2)将ISO所在的/dev/cdrom里面的文件挂载到media

mount /dev/cdrom /media/

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

yum install -y createrepo mkisofs isomd5sum squashfs-tools

3、拷贝文件

#拷贝/media/下的文件到ISO/路径下

mkdir /ISO

cp -r /media/*/ISO/

cp /media/.discinfo /ISO/

cp /media/.treeinfo /ISO/

chmod +w /ISO/isolinux/isolinux.cfg

#清空ISO文件夹下的Packages和repodata文件夹rm -rf /ISO/Packages/*rm -rf /ISO/repodata/*

4、拷贝相关软件包到/ISO/Packages目录下

在使用Centos系统安装完成后会生成/root/install.log,该文件记录了系统安装时安装的RPM包信息。如果没有该文件,可以手动生成(新安装的干净系统):

1)生成install.log

rpm -qa>> /root/install.log

2)拷贝rpm包的脚本

awk'{print $0}'/root/install.log |xargs -i cp /media/Packages/{}.rpm /ISO/Packages/

因为需要自定制iso,需要预安装其他的包,将解决好依赖关系的包全部放入/ISO/Packages/中

3)配置yum下载指定软件包列表(rpms_list.txt)的所有依赖包

(1)只下载不安装

#!/bin/sh

# (1) 只下载不安装 

但是系统已经安装过的软件,不能用downloadonly,需要使用yumdownloader

(yum -y install yum-utils*

yumdownloader vlock

 for line in `cat rpms_list.txt`

do

echo$lineyum install -y --downloadonly --downloaddir=/root/test/$line

done

echo"安装包下载完毕,下面整理包名"

#(2)获取下载的所有包的名字到指定文件

cd/root/test

for file in $(ls *)

do

echo$file>> /root/rpm_names.txt

done

echo"包名全称整理完毕,下面替换后缀"

#(3)去除 “.rpm”

sed -i"s/.rpm//g"/root/rpm_names.txt

echo"替换完毕"

#拷贝包到指定目录cp /root/test/* /ISO/Packages/

5、修改isolinux.cfg文件,将“append initrd=initrd.img”后面的当前行内容删除,并加入“ks=cdrom:/isolinux/ks.cfg”。

label linux    

menu label

 ^Install CentOS Linux7

kernel vmlinuz    

append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg

6、修改自动化安装配置文件

cp  /root/anaconda-ks.cfg  /ISO/isolinux/ks.cfg

在%packages与%end中间加入需要自定义安装的包全称,带版本号,本例使用如下的一个rpm包,并且要记得将该rpm包放到/ISO/Packages目录下


添加自定义rpm包的位置

在指定字符串“kexec-tools”后面添加rpm_names.txt中的所有包名

#!/bin/sh

for line in `cat rpm_names.txt`

do

sed -i "/kexec-tools/a\\"$line""  ks.cfgdone

7、生成comps.xml文件

1)进入/ISO/repodata 目录,将“*-x86_64-comps.xml”文件拷贝到/ISO/repodata路径下,并重命名成comps.xml。

cp /media/repodata/*-x86_64-comps.xml  /ISO/repodata/comps.xml

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

createrepo -g repodata/comps.xml ./

8、进入到ISO目录,生成ISO文件

mkisofs -o CentOS-7.3.iso -input-charset utf-8-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size4-boot-info-table -R -J -v -T -joliet-long/ISO/

9、生成ISO文件MD5值

/usr/bin/implantisomd5 /ISO/CentOS-7.3.iso

10、使用生成的ISO镜像去安装系统时就会默认把自定义的rpm装上

5、若不自动安装则需配置isolinux.cfg

label linux

menu label ^Install CentOS 7

kernel vmlinuz

append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 quiet

inst.stage2为安装介质位置,hd:LABEL为介质标签,例如CentOS7。这个和生成ISO镜像文件的命令genisoimage的参数-V有关。

制作命令

# 注意参数中的-V,和上面的isolinux.cfg文件有关genisoimage -joliet-long-V CentOS7 -o CentOS-7-3.iso -b isolinux/isolinux.bin -c isolinux

作者:LittleTry

链接:https://www.jianshu.com/p/fa7a0edac1fb

来源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(制作centos镜像)