1. 安裝需要的軟件
~]# yum install -y vim net-tools sysstat createrepo mkisofs rsync syslinux
2. 創建目錄及文件拷貝
創建本地yum源
~]# mount /dev/sr0 /mnt #掛載鏡像或者U盤,如果是U盤就是/dev/sdxx
~]# cd /etc/yum.repos.d
~]# rm -rf CentOS-*
~]# cat > local.repo <<EOF
[c7-media]
name=local
baseurl=file:///mnt #這個地方就是鏡像所在的位置
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
~]# yum clean all && yum makecache
本地環境
~]# mount /dev/sr0 /mnt #掛載鏡像或者安裝U盤
~]# mkdir /os #創建目錄用來存放鏡像的所有文件
~]# cp -rf /mnt/* /os/
3. 創建compos.xml及添加自定義軟件包
拷貝repodata目錄下的minimal版本的xml文件拷貝到上一級目錄,命名為compos.xml
~]# cd /os
os]# cp repodata/*minimal*.xml compos.xml
自己需要安裝的軟件包名稱只需要添加在這部分即可。類型可以選強制或者默認都行,反正都會安裝的。但是要找到postfix那行刪除掉,不然在安裝mysql的時候會有問題。
compos.xml編輯完成之后,我們需要將需要安裝的軟件包以及依賴包放入Package目錄下。然后重新生成repodata。
os]# createrepo -g compos.xml .
可以將yum源里面的路徑改為/os,然后"yum clean all && yum makecache"更新下緩存,然后安裝一下剛才添加的新的軟件包,如果安裝沒有問題,那么就可以封裝鏡像了
os]# cat /etc/yum.repos.d/local.repo
[c7-media]
name=local
baseurl=file:///os #本地環境
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
os]# yum clean all && yum makecache
os]# yum install -y redis5
4. 制作ISO文件
~]# genisoimage -joliet-long -V CentOS7 -o CentOS-7-Redis.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 /os