Linux中的无人职守安装脚本kickstart
1 kickstart自动安装脚本的作用
1)企业中安装多台操作系统时面临的问题:
当安装Linux操作系统时,安装过程会需要回答很多关于设定的问题,这些问题必须手动选择,否则无法进行安装。当只安装1台Linux系统,手动选择设定工作量比较轻松,当安装多台Linux,这些设定需要重复多次,这些重复动作是效率低下的操作
2)如何解决以上问题:
用文件来记录所有安装过程中问题的答案,并让所有需要安装的主机自动读取
3)kickstart作用
以上解决方案中记录系统安装过程中所有问题答案的文件叫kickstart脚本
2 实验环境
- 火墙、selinux关闭
systemctl disable --now firewalld
getenforce -->disable - httpd服务开启
dnf install httpd -y
systemctl enable --now httpd - 搭建dhcpd服务器,dhcp服务开启
具体搭建过程见前面章节
systemctl enable --now dhcpd
3 kickstart自动安装脚本的制作
- 在rhel7系统中提供图形的kickstart制作方式。
- 在rhel8中已经把图形的工具取消,并添加到rhn网络中;在rhel8中如果无法通过rhn网络制作kickstart,可以使用模板生成。
3.1 通过模板生成kickstart文件
满足实验环境后,建立用于存放ks的目录,mkdir /var/www/html/ks;在已经装好的rhel8中,/root/anaconda-ks.cfg 就是安装当前系统时回答的所有问题的答案生成的kickstart,此文件为kickstart模板。复制该文件到建立好的目录中,cp /root/anaconda-ks.cfg /var/www/html/ks/.lhy.cfg 用模板生成ks自动安装脚本:
注意:此处的.lhy.cfg是我的ks脚本文件名
3.2用模板制作kickstart
1)编辑该脚本文件的内容为下图所示:
2)安装检查该脚本是否有语法错误的软件,并进行检验:
安装完成后,系统中就会有ksvalidator命令,输入
ksvalidator /var/www/html/.lhy.cfg 就会自动检测语法错误,有错误时,进行修改即可:
注意:
- dnf whatprovides */ksvalidator 表示查看该软件属于哪个软件包
- dnf install pykickstart-3.16.10-1.el8.noarch -y 安装该软件
- 自动检测语法错误时,语法检测正确不代表设定合理
3)脚本文件写完保存退出后,去浏览器输入 172.25.254.24/ks/.lhy.cfg,看是否可以查看到文件内容:
出现forbidden报错时, ls -l /var/www/html/ks/.lhy.cfg 。可以看到该文件只有超级用户可以读,所以chmod 644 /var/www/html/ks/ .lhy.cfg 开放权限 ,然后再去浏览器,可以看到文件内容:
4)编辑安装虚拟机的脚本文件,在最后一行处指定ks脚本文件:
注意:可以在该脚本文件的最后一行加上&,表示安装过程在后台运行
3.3 测试
脚本文件在哪个目录下,就只能在该目录下运行:
最后在安装的文本界面中,下面的选项前面都是‘x’,不出现‘!’,表示安装成功: