Kickstart(ks) 是一个用于自动化安装 Red Hat 系列(如 Red Hat Enterprise Linux, CentOS, Fedora 等)操作系统的工具。通过使用 Kickstart 文件,可以指定安装过程中的各种配置选项,从而实现无人值守安装。
使用ks装机时,在某些场景下可能会需要使用到变量来编写部分逻辑,但是ks的文档里并没有详细说明怎么使用,这里提供一个简单的例子,该例子的作用是装机时自动选择机器上的最小盘作为系统盘进行装机。
```shell
%include /tmp/part-include
%pre
#!/bin/sh
# select smallest disk as sysdisk
sysdisk=/dev/$(lsblk -ndo NAME,SIZE |grep -v loop | sort -h -k2 | awk 'NR==1 {print $1}')
echo "#Partition clearing information" > /tmp/part-include
echo "clearpart --all --drives=$sysdisk --initlabel" >> /tmp/part-include
echo "# Disk partitioning information" >> /tmp/part-include
echo "part /boot/efi --fstype=\"xfs\" --size=2048 --fsoptions=\"umask=0077,shortname=winnt\" --ondisk=$sysdisk" >> /tmp/part-include
echo "part / --fstype xfs --size=102400 --ondisk=$sysdisk" >> /tmp/part-include
echo "part /boot --fstype xfs --size=2048 --ondisk=$sysdisk" >> /tmp/part-include
echo "part /var --fstype xfs --size=1 --grow --ondisk=$sysdisk" >> /tmp/part-include
{{- end}}
%end
```