自己定制ISO使用ks.cfg实现自动安装时,有时需要预先检查硬件环境是否满足安装要求,比如cpu和内存数量,硬件环境不满足时直接停止安装,此时可以利用%pre配合--erroronfail参数来达到目的。

%pre段是在安装前执行的,--erroronfail表示出现错误后停止安装。以检查cpu为例,可以这么写:

%pre --erroronfail

#获取CPU数量
CPU=`cat /proc/cpuinfo | grep processor | wc -l`

#如果CPU数量小于4,用whiptail显示错误信息并关机
if [ $CPU -lt 4 ];then
    whiptail --title "WARNING" --msgbox "Hardware does not meet minimum requirements." 12 50 > /dev/console
    poweroff
fi

%end
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

通过上面的脚本,如果CPU数量满足,那么直接开始后面的安装步骤,如果不满足,会提示资源不足并关机。需要注意的是,在此处脚本中用到的指令必须在安装过程中存在,比如whiptail、dmidecode等。