系统的自动化安装应答文件制作


一、自动安装的应答文件

1.实现自动安装前,需要制作对应的安装应答文件,称为kickstart文件,用于保存安装,过程需要指定的选项

2.我们安装centos后本地就有一个anaconda-ks.cfg的文件,就是应答文件

[root@centos8 ~]# vim anaconda-ks.cfg 

二、kickstart文件格式说明

1.kickstart文件主要包括三个部分:命令段、程序段和脚本段

2.命令段:指明各种安装前配置,如键盘类型等

命令段中的常见命令:

keyboard: 设定键盘类型
lang: 语言类型
zerombr:清除mbr
clearpart:清除分区
part: 创建分区
rootpw: 指明root的密码
timezone: 时区
text: 文本安装界面
network:指定网络设置
firewall:设置防火墙设置
selinux:设置selinux设置
reboot:安装完自动重启
user:安装完成后为系统创建新用户
url: 指明安装源

3.程序包段:指明要安装的程序包组或程序包,不安装的程序包等

 %packages
 @^environment group: 指定环境包组,如:@^minimal-environment
 @group_name
 package
 -package
 %end

4.脚本段:

%pre: 安装前脚本
 %post: 安装后脚本

5.注意:

  • CentOS 8,7,6 不同版本的kickstart文件格式不尽相同,不可混用
  • %addon, %packages, %onerror, %pre 、 %post 必须以%end结束,否则安装失败

6.示例:使用 system-config-kickstart 来创建ks文件(CentOS7.x)

1).安装system-config-kickstart ,启用xmanager

[root@centos7 ~]# yum -y install system-config-kickstart

[root@centos7 ~]# export DISPLAY=192.168.93.1:0.0
[root@centos7 ~]# system-config-kickstart

2、按需配

 没加载出来就先保存

 出现这个bug我们需要修改配置文件/etc/yum.repos.d/xxx.repo中的base改为development

重新再打开

[root@centos7 yum.repos.d]# system-config-kickstart

出来了

 恢复刚才的包

 

 再次保存再centos7上再编辑它

配置yum源

 基于ssh的key验证再创建一个用户

 至此文件创建结束

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --plaintext 123456
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --disable
# SELinux configuration
selinux --disabled


# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Africa/Abidjan
# Use network installation
url --url="http://192.168.93.129/centos/7/os/x86_64"
# System bootloader configuration
bootloader --append="net.ifnames=0" --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part / --fstype="xfs" --size=10000
part /boot --fstype="xfs" --size=1000
part /swap --fstype="xfs" --size=2048
%post
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
cat > /etc/yum.repos.d/base.repo < /root/.ssh/authorized_keys <

3.检查此文件语法

[root@centos7 ~]# ksvalidator ks7.cfg 

4.将其传到centos8仓库中

[root@centos8 .ssh]# mkdir /var/www/html/ks
[root@centos7 ~]# scp ks7.cfg 192.168.93.129:/var/www/html/ks/centos7.cfg

我们现在就可以用它进行安装了。

5.利用此文件进行安装

 效果如下: