在本篇文档中,我们探讨的是如何进行 CentOS 的自动化安装,这一过程对于大规模部署服务器环境尤其有用,可以显著提高效率并减少人为错误。自动化安装的关键在于定制安装镜像,使其只包含所需的基本软件包,从而简化安装流程。
我们需要安装一些必要的软件包来创建自定义的安装介质。这些包包括 `createrepo`(用于创建 RPM 包仓库),`mkisofs`(用于制作 ISO 映像),以及 `isomd5sum`(用于校验 ISO 映像的完整性)。可以通过执行 `yum -y install createrepo mkisofs isomd5sum` 来安装它们。
接下来,你需要分析安装日志(`install.log`)来获取安装过程中使用的具体 RPM 包列表。这个列表将被用来决定你的自定义镜像中包含哪些软件包。你可以用 `awk` 和 `sed` 命令来提取这些信息,例如 `awk '/安装/{print $2}' install.log | sed s/^[0-9]*://g > /root/packages.list`。这行命令会提取出安装日志中与"安装"相关的行,并移除行首的数字,然后将结果保存到 `/root/packages.list` 文件中。
为了构建自定义的 ISO 映像,你需要创建一个目录结构来模拟 CentOS 的安装目录。使用以下命令创建必要的目录:
```bash
mkdir -p /mnt/cdrom
mkdir -p /data/OS
mount /dev/cdrom /mnt/cdrom
rsync -a --exclude=Packages /mnt/cdrom/* /data/OS
mkdir /data/OS/Packages
```
这些命令会挂载现有的安装光盘到 `/mnt/cdrom`,然后将其中所有内容(除了 `Packages` 目录)复制到 `/data/OS`。接着,你需要手动复制 `Packages` 目录下的特定 RPM 包到 `/data/OS/Packages`,这些包在文档中已经列出来了,包括 `libgcc`, `setup`, `filesystem`, `xml-common` 等等。这些基本软件包对于 CentOS 的基本功能至关重要。
在复制了所需 RPM 包之后,你可以使用 `createrepo` 工具创建一个新的 RPM 仓库,这将使安装程序能够找到这些包。运行 `createrepo /data/OS/Packages` 来生成仓库元数据。
通过 `mkisofs` 创建自定义的 ISO 映像,你可以使用类似以下的命令:
```bash
mkisofs -r -J -V "Custom CentOS" -cache-inodes -quiet -iso-level 4 -o custom_centos.iso /data/OS
```
这将生成名为 `custom_centos.iso` 的自定义 CentOS ISO 映像文件。你可以使用 `isomd5sum` 验证 ISO 的完整性,确保没有在制作过程中出现任何错误。
至此,你已成功创建了一个包含最小必要软件包的 CentOS 自动化安装盘。这个定制的 ISO 可以在多台机器上重复使用,简化安装步骤,减少手动配置的工作量,极大地提高了部署效率。在实际操作时,记得根据你的具体需求调整软件包列表,以满足你的环境需求。