在实际工作中,CentOS 的安装需要设置的语言、键盘模式、时区等信息都存在很大程度上的雷同型。并且,安装完成后的一些设置工作也都是一样的。这些工作都可以在安装操作系统的时候自动完成。最终做到,安装完成即可得到一个可以使用的 CentOS 系统。工作目录是 root
。
打包环境
我们的打包环境是在一个纯净的 CentOS-8.1.1911-x86_64-dvd1.iso 上进行的,安装完成 CentOS 8 之后我们进行以下操作安装打包环境:
yum install -y wget isomd5sum genisoimage
将 CentOS 8 的 dvd 版本下载下来或 scp 存储至 /root/
目录下,下载命令:
wget https://mirrors.aliyun.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso
下载Centos DVD打包脚本:
wget http://soft.laua.cn/mkdvdiso.sh
chmod +x /root/mkdvdiso.sh
我们将开发环境设置在 /opt
目录下,首先创建 /mnt/centos
目录用于挂载原始的ISO:
mkdir /mnt/centos
mount /root/CentOS-8.1.1911-x86_64-dvd1.iso /mnt/centos
复制原始ISO至要更改的环境中:
cp -av /mnt/centos /opt/centos
此时 /opt/centos
的目录和光盘的目录是一致的。如果你需要修改写ISO光盘内容,引导什么的可以在 /opt/centos
目录修改了。
定义自动应答脚本(可选)
将系统安装时的自动应答文件拷贝至 /opt/centos/isolinux/
文件夹下:
cp /root/anaconda-ks.cfg /opt/centos/isolinux/base-ks.cfg
ks
文件语法指令参考:
https://fedoraproject.org/wiki/Anaconda/Kickstart/zh-cn#firstboot
https://blog.csdn.net/Primeprime/article/details/80759635
修改 /opt/centos/isolinux
中的 isolinux.cfg
文件,找到 label linux
部分,并修改如下所示:
label linux
menu label ^Install CentOS Linux 8
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS-8-1-1911-x86_64-dvd quiet
label linux
menu label ^Install CentOS 8 For custom
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/isolinux/base-ks.cfg
label check
menu label Test this ^media & install CentOS Linux 8
menu default
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS-8-1-1911-x86_64-dvd rd.live.check quiet
打包ISO
/root/mkdvdiso.sh /opt/centos /root/new_CentOS-8.1.1911-x86_64-dvd1.iso