一、kickstart自动安装脚本的作用
1、在企业中安装多台操作系统时面临的问题:
当安装Linux操作系统时,安装过程会需要回答很多关于设定的问题,这些问题必须手动选择,否则无法进行安装。当只安装1台Linux系统,手动选择设定工作量比较轻松,但当安装多台Linux,这些设定需要重复多次,这些重复动作是效率底下的操作。
2、解决以上问题的方法:
用文件来记录所有安装过程中问题的答案,并让所有需要安装的主机自动读取。
3、kickstart作用
以上解决方案中记录系统安装过程中所有问题答案的文件叫kickstart脚本
二、实验环境
1.主机westosa:172.25.254.170
2.火墙,selinux关闭( Linux 内核中提供的强制访问控制 (MAC)系统)
3.httpd服务开启
4.配置软件仓库能正常工作
也可以设定在防火墙开启的状态下允许http服务
三.kickstart自动安装脚本的制作
1、 在rhel7系统中提供图形的kickstart制作方式,在rhel8中已经把图形的工具取消,并添加到rhn网络中。在rhel8中如果无法通过rhn网络制作kickstart,可以使用模板生成。
2、通过模板生成kickstart文件
在已经装好的rhel8中,/root/anaconda-ks.cfg 就是安装当前系统时回答的所有问题的答案生成的kickstart,此文件为kickstart模板。
- 操作步骤:
1.共享资源:
dnf install httpd -y
systemctl enable --now httpd
systemctl disable --now firewalld
setenforce 0:selinux调整为警告模式
共享资源的意义:
在安装操作系统时,每个被安装的操作系统都要有安装资源,如果使用镜像安装,每个安装的系统都需要加载一个镜像,这样会浪费存储,通过网络来共享镜像中的资源,让安装系统的主机能通过网络访问被共享的资源这样就可以解决多台主机需要多个镜像安装的问题。
- 用模板自作kickstart
在共享目录下建立ks目录,将/root/anaconda-ks.cfg 文件复制到ks目录中,并更改文件名为westos.cfg
赋予文件所需权限
对文件 /var/www/html/westos.cfg 进行编辑
zerombr :表示清除旧磁盘上原有的mbr(主引导记录),主引导记录是硬盘的第一个扇区;
clearpart --all --initlabel :把sda硬盘的所有内容删掉;
text:在文本模式下执行kickstart安装(安装过程不开图形);
url --url= :yum源的路径 。
为root用户获得一个加密密钥
firstboot --disable :首次启动初始化禁止
让/分区使用全部空闲磁盘空间
%post :系统安装后自动执行的脚本;
@base:安装软件组base
- 设定好kickstart模板文件之后,使用网络资源安装虚拟机,内核选项填写westosa主机设定好的kickstart模板文件
可以看到自动执行安装过程(无需手动指定)
安装好的虚拟机有通过dhcp获得的ip
/mnt目录下已经创建好了5个文件
四、全自动安装虚拟机
- 快照方式全自动
–extra-args “ks=http://172.25.254.170/ks/westos.cfg” :指定kickstart文件的位置
运行快照脚本,全自动安装虚拟机