基于CentOS minimal 定制封装 CentOS-7 发行版

在实际工作中,CentOS 的安装需要设置的语言、键盘模式、时区等信息都存在很大程度上的雷同型。并且,安装完成后的一些设置工作也都是一样的。这些工作都可以在安装操作系统的时候自动完成。最终做到,安装完成即可得到一个可以使用的 CentOS 系统。

打包环境

我们的打包环境是在一个纯净的 CentOS7-Minimal 上进行的,安装完成 CentOS7 之后我们进行以下操作安装打包环境:

yum install wget anaconda repodata createrepo mkisofs yum-plugin-downloadonly -y

将 CentOS7 的 minimal 版本下载下来或 scp 存储至 /root/ 目录下,下载命令:

wget https://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

我们将开发环境设置在 /opt 目录下,首先创建 /mnt/centos 目录用于挂载原始的ISO:

mkdir /mnt/centos
mount /root/CentOS-7-x86_64-Minimal-1804.iso /mnt/centos

复制原始ISO至要更改的环境中:

cp -r /mnt/centos /opt/centos

此时 /opt/centos 的目录如下所示:

[root@localhost centos]# ll -h
total 92K
-rw-r--r--. 1 root root   14 Sep 21 15:48 CentOS_BuildTag
drwxr-xr-x. 3 root root 4.0K Sep 21 15:48 EFI
-rw-r--r--. 1 root root  227 Sep 21 15:48 EULA
-rw-r--r--. 1 root root  18K Sep 21 15:48 GPL
drwxr-xr-x. 3 root root 4.0K Sep 21 15:48 images
drwxr-xr-x. 2 root root 4.0K Sep 21 15:48 isolinux
drwxr-xr-x. 2 root root 4.0K Sep 21 15:48 LiveOS
drwxr-xr-x. 2 root root  32K Sep 21 15:48 Packages
drwxr-xr-x. 2 root root 4.0K Sep 21 15:48 repodata
-rw-r--r--. 1 root root 1.7K Sep 21 15:48 RPM-GPG-KEY-CentOS-7
-rw-r--r--. 1 root root 1.7K Sep 21 15:48 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root 2.9K Sep 21 15:48 TRANS.TBL

打包环境搭建完成。

定义自动应答脚本

将系统安装时的自动应答文件拷贝至 /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 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

label linux
  menu label ^Install CentOS 7 For custom
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/isolinux/base-ks.cfg

label check
  menu label Test this ^media & install CentOS 7
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet

打包ISO

mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -o/opt/CentOS-7-x86_64-Minimal-1804.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /opt/centos

你可能感兴趣的:(基于CentOS minimal 定制封装 CentOS-7 发行版)