一.kickstart自动安装脚本的作用
在企业中安装多台操作系统时面临的问题:当安装Linux操作系统时,安装过程会需要回答很多关于设定的问题,这些问题必须手动选择,否则无法进行安装。当只安装1台Linux系统,手动选择设定工作量比较轻松,当安装多台Linux,这些设定需要重复多次,这些重复动作是效率底下的操作。
如何解决以上问题?
用文件来记录所有安装过程中问题的答案,并让所有需要安装的主机自动读取。
kickstart作用:以上解决方案中记录系统安装过程中所有问题答案的文件叫kickstart脚本。
二.实验环境
配置主机nodea的ip、关闭火墙和selinux、开启httpd服务、配置软件仓库。在nodea中添加脚本并挂载到网页上,其他真机通过nodea网页上的脚本来自动安装新的虚拟机。
在主机172.25.254.110(nodea) 中:
在已经装好的rhel8中,/root/anaconda-ks.cfg 就是安装当前系统时回答的所有问题的答案生成的kickstart,此文件为kickstart模板。
共享资源的意义:
在安装操作系统时,每个被安装的操作系统都要有安装资源,如果使用镜像安装,每个安装的系统都需要加载一个镜像,这样会浪费存储,通过网络来共享镜像中的资源,让安装系统的主机能通过网络访问被共享的资源,这样就可以解决多台主机需要多个镜像安装的问题。
三.kickstart自动安装脚本的制作
在rhel7系统中提供图形的kickstart制作方式。
在rhel8中已经把图形的工具取消,并添加到rhn网络中,在rhel8中如果无法通过rhn网络制作kickstart,可以使用模板生成。
vim /var/www/html/ks/westos.ks ##编辑安装脚本
1 #version=RHEL8
2 #ignoredisk --only-use=vda ##只是用我们系统中的第一快硬盘
3 # Partition clearing information
4 clearpart --all --initlabel ##把sda硬盘的所有内容删掉
5 # Use graphical install
#graphical ##安装过程开启图形
6 text ##安装过程不开图形
7 # Use CDROM installation media
8 #cdrom
9 url --url="http://172.25.254.250/rhel8.2/" ##系统安装资源
10 # Keyboard layouts
11 keyboard --vckeymap=us --xlayouts='us' ##键盘布局为美式键盘
12 # System language
13 lang en_US.UTF-8 --addsupport=zh_CN.UTF-8 ##系统支持的语言
14
15 # Network information
16 network --bootproto=dhcp --onboot=on --ipv6=auto --no-activate ##网卡设定
17 network --hostname=westoslinux.westos.org ##主机名设定
18 repo --name="AppStream" --baseurl=http://172.25.254.250/rhel8.2/AppStream/ ##软件安装资源
19 # Root password
20 rootpw --iscrypted $6$8l7EOzaUTgjpwCTA$HEQMBbbbsbO.3ktxXPSRM7SkxLWYapZX9rOa 5apIwmE8tU/7cGT4cNnY0qJ69f8wVofNMrgvGNO2YShUfFoTP.
21 # Run the Setup Agent on first boot
22 firstboot --disable ##首次启动初始化禁止
23 # Do not configure the X Window System
#xconfig --startxonboot ##安装完成后开机启动图形
24 skipx ##安装完成后开机不启动图形
25 # System services
26 services --disabled="chronyd" ##在开机时开启或关闭的服务
27 # System timezone
28 timezone Asia/Shanghai --isUtc --nontp ##系统时区,启用utc计时方式,不其同ntp时间同步
29 #user --name=westos --password=$6$YAe.8sw6vifDVnKA$3Og7IGTQft5nntRNgMLm0SFn tVgYeF/0rU5ui54uKdAAlPv0YI3knIR41Zwvlcjli4j4vVpGVyN2YOzsLsFS91 --iscrypted --gecos="westos"
30 # Disk partitioning information
31 #part / --fstype="xfs" --ondisk=vda --size=17407
32 #part swap --fstype="swap" --ondisk=vda --size=2048
33 #part /boot --fstype="xfs" --ondisk=vda --size=1024
34 reboot ##安装完成后自动重启
35
36
37 part / --fstype="xfs" --size=1 --grow ##让/分区使用全部空闲磁盘空间
38 part swap --fstype="swap" --size=2048 ##swap分区大小为2048M
39 part /boot --fstype="xfs" --size=1024 ##/boot分区大小为1024M
40
41 %packages
42 @base ##安装软件组base
43 gcc ##安装单个软件gcc
44
45 %end
46
47 %post ##系统安装后自动执行的脚本
48 touch /mnt/file{1..5}
49 %end