環境準備:
centos虛機,centos7 iso文件,需要自定義安裝的 rpm包
操作流程:
1. 安裝iso製作工具
yum -y install createrepo mkisofs isomd5sum rsync
2. 掛載iso文件
mount -o loop CentOS-7-x86_64-DVD-1804.iso /home/isomount
3. 同步光盤文件到iso製作文件
#同步/media下的文件到/ISO路徑下,除了Packages和repodata文件夾
/usr/bin/rsync -a --exclude=Packages/ --exclude=repodata/ /home/isomount/* /iso/
#在/ISO/文件夾下新建Packages和repodata文件夾
mkdir -p /iso/Packages
mkdir -p /iso/repodata
4. 把掛載點下Packages目錄下的包全部copy到/iso/Packages 下
cp /home/isomount/Packages/* /iso/Packages
5.把依賴包*.rpm複製到/iso/Packages下
6. 添加自動安裝腳本
cp /root/anaconda-ks.cfg /iso/interactive-defaults.ks
根據自己的需求對interactive-defaults.ks進行修改
7. 修改/iso/isolinux目錄下isolinux.cfg 文件
改一下超時時間
添加自動化部署的配置,有inst.ks配置代表是自動化安裝,前面改成CentOS7或者其他,不要特殊字符。
8.複製rpm包配置信息,
cp /home/isomount/repodata/*-x86_64-comps.xml /iso/repodata/comps.xml
/home下的爲掛載目錄,iso下的爲最終生成iso的目錄
9.修改comps.xml文件,增加自定義的rpm包
增加rpm包的組
增加組的環境配置
10.在自動化安裝腳本interactive-defaults.ks
中
增加自定義的組
11. 切換到iso/路徑下,由comps.xml生成repodata包。注意當有新包加入,或者更新comps.xml文件,均需要重新生成repodata文件夾
createrepo -g repodata/comps.xml ./
12.
製作ISO包
genisoimage -joliet-long -V CentOS7 -o CentOS-7.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot -e images/efiboot.img -no-emul-boot /iso
這個CentOS7 要和上面修改的那個名字做對應
13. 製作鏡像MD5值
implantisomd5 /iso/CentOS-7.iso