制作Centos7自动安装镜像(三)

文章总览:制作Centos7自动安装镜像

在这里说明一下,我们制作自动化安装镜像用的是linux的kickstart技术。 这个技术的核心是制作一个ks.cfg文件,将所有需要自动化安装的内容写成一个脚本,放置在镜像中,并在安装菜单中指定这个配置文件的位置,这样Linux在启动的时候,会找到这个ks.cfg文件,并根据文件中的内容进行安装。一个典型的ks.cfg文件结构如下:

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
# 设定root用户密码
rootpw --iscrypted $1$5p2JcWPk$SDMLkZJoSSKMwHSNwAvHf.
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use CDROM installation media
cdrom
# Use text mode install
text
firstboot --disable
# SELinux configuration
selinux --disabled

# Firewall configuration
firewall --disabled
# Network information
# 网络初始化
network  --bootproto=static --device=em1 --gateway=192.168.0.1 --ip=192.168.0.2 --nameserver=192.168.0.1 --netmask=255.255.255.0
# Reboot after installation
# 安装后重启
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
# 分区清理
clearpart --all

# Disk partitioning information
#分区信息

%packages
#需要安装的组件

%end

%post
#安装后执行脚本,用于安装后的处理

%end

以上是一个典型的ks.cfg脚本,其中最关键的是如下几个部分:

network 部分, partition部分,packages部分 以及 post部分

其中network部分,用于网络初始化, partition部分用于磁盘分区和设置挂载点,packages部分用于指定安装那些组件, post部分用于执行安装后的脚本。

怎么样,看起来是不是很复杂? 不过我可以开心的告诉你,你并不需要手工来制作这么个文件。当然如果你打算手工编辑也没有问题,我不反对。

我采用的方式,是自动化生成+手工编辑的方式,先利用工具软件生成一个初始的ks.cfg文件,然后在用手工完善。

如果要自动化生成ks.cfg脚本,需要安装kickstart软件(有些Linux默认会带)

如果没有kickstart软件,请先按一下方式安装(需要linux带有图形界面)

1.安装Kickstart软件

yum install system-config-kickstart

安装后,就可以在系统菜单中找到这个软件,如下图所示(我用的是英文操作系统,中文请自行翻译😁):

kickstart菜单

2.运行kickstart软件,则出现如下界面

Kickstart 向导

第一个页面,设置 语言,键盘,时区,root用户密码(密码是否加密),目标的CPU架构,安装后是否重启, 这些没有什么可说的,大家按照需要选择就好。

值得一提的是最后一个选项, Perform installation in text mode  (在文字模式下进行安装),这个一般要选中,这样安装会快一些。

3.设置安装方式

安装方式,选择新安装(当然你要选升级也行,不过我没测试过)。 还有安装源。 这里提一句,其实kickstart不光能用来做自动化安装镜像,还可以实现网络自动化安装,包括FTP HTTP等方式(不过我也没测过)。 这里我们选择CD-ROM的方式。

4.启动加载选项

选择安装新的引导装在程序,选择安装到MBR

5.分区信息

选择清除主分区信息,选择删除所有已存在的分区,选择初始化磁盘标签。

然后点击 add按钮,进入分区编辑页面

这里具体怎么分区,就需要根据你自己的磁盘规划了,这里就不赘述了。但是,这里有一个非常值得注意的地方,也是我在这次测试过程中遇到的最大的一个坑:

如果你需要使用U盘的UEFI安装,务必在这里增加一个/boot/eif 分区,空间不用大,200M足以。否则系统不能正常进入安装,会在安装的时候显示  failed to find suitable stage1 错误。

如果你使用光盘安装,或者Lagency方式安装,则不需要此种方式。但是,请注意!!!! 我遇到过Lagency方式安装后系统不能引导,服务器找不到引导程序的问题。

5. 网络初始化

如果需要安装的时候对网卡的IP进行设置,请按需要填写这一项。注意:这里又有一个坑,network Device的名字,必须和实际一致。 由于Linux的特点,不同的网卡会有不同的名称,这里的network device一定要与实际的网卡名字对应上,或者是eno1 或者是 em1 又或者是其他名字,一定要注意。好在由于我们的设备硬件完全一致,所以到没有什么太大的问题。如果是异构的服务器,不能确定网卡的名字,就先不要输入,保持为空(没测试过,仅供参考)。

6.验证

这个保持原样就行。

7.防火墙设置

这一步按需设置吧,因为我们都是内网,所以全部关闭了。

8.显示配置

保持不变即可

9. 选择安装包

正常情况下,红框中的内容应该是看不到的,看到的只是一个提示:由于下载软件包失败,软件包选择被禁止。

这个完全没有关系,后续我们会手工配置软件安装包。 当然你如果实在想在这里选择,也有办法,具体请参考默的全释 的博客 

Kickstart-由于下载软件包信息失败,软件包选择被禁止

但是我建议还是手工配置,因为如果你对Linux不熟的话,自己选择,反而会出现各种不可预料的错误。

10. 安装前脚本

略过。这个不需要设置,反正我们是没有什么需要安装前执行的脚本,所以没有研究这个东西。以后有机会的话,再补充吧。

11. 安装后脚本

同样略过。

虽然我们有安装后脚本要执行,但是因为我们后续还需要对ks.cfg文件进行编辑,所以放在后面一起来做。

以上步骤全部完成之后,点击菜单中的 file->save  选择一个位置进行保存

我选择了 /root/kickstart/

保存完之后,我们就有了一个kickstart文件的模板,基于这个模板,我们可以进行编辑了

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值