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
```