系统的自动化安装应答文件制作
一、自动安装的应答文件
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 <<EOF [development] name=CentOS #baseurl=http://192.168.93.129/centos/7/ baseurl=file:///mnt https://mirrors.cloud.tencent.com/centos/7/os/x86_64/ gpgcheck=0 enabled=1 #[AppStream] #name=aaaaa #baseurl=http://mirrors.cloud.tencent.com/centos/7/os/x86_64/ #gpgcheck=0 [extras] name=extras baseurl=https://mirrors.cloud.tencent.com/centos/7/extras/x86_64/ gpgcheck=0 [epel] name=epel baseurl=https://mirrors.cloud.tencent.com/epel/7/x86_64/ gpgcheck=1 gpgkey=http://mirrors.cloud.tencent.com/epel/RPM-GPG-KEY-EPEL-7 EOF mkdir /root/.ssh -m 700 cat > /root/.ssh/authorized_keys <<EOF ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDBrQUDWXbcK/TppT7esuaNAyx9uBRRUgrzfa5DrgU5VcB5KB+OEsXQsG7hXD/2grLgYJ64pCQkQpoC2onmp1P4yc+hqjptV6XU2oBqHIUiKS4mGZQgbyYdcH3hbWUL4IoBK5cSmciuIMA4qCdnSizj9Db0nrK1/46jtreJ1Iq3v 4i0fGu9IfxnM1W/FD0nbm/+L9QigkGcqbrjY0K8mBlTrLvQuzI1YpukkkvPuRaLJ1Rq+cWnpebcayVN5zoJRYiHs21kp4wulAlMP3Gy60Uvshains6bHu+e0JL25bggSn5QVS3aEIa6ba2IGJbnyH9Bqrru957PfUon4cgygfpGB//PahCvHdfXyBi3MCB3+t7Jeo6KSQqsCExGft blfMBTZzRocOck7uakkFymR04krbVzZe7pUEFx/tqWxBFDqJxiw0xiLRPTNTaTtM1nNTzlJ4c5n8zxCY4f0SRa7vqkCUknyDsPDX8QahnansSBhBny8rRcQS+p7INdBrOdayc= root@centos8 EOF chmod 600 /root/.shh/authorized_keys useradd linuxn64 echo 123456 | passwd --stdin linuxn64 %end %packages @web-server %end
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.利用此文件进行安装
效果如下: