我有一个用于安装 CentOS 7 的 kickstart 文件。我在 kickstart 文件的 %post 部分运行一些脚本。在脚本中,会检查机器的兼容性,如果检查失败,我需要重新启动/关闭该特定机器,而无需完成安装。但是当我安装操作系统时,如果兼容性检查失败,计算机不会重新启动,而是显示一条消息“在 chroot 中运行,忽略请求”。
我该怎么做?如果兼容性检查失败,我想重新启动我的机器,我正在运行 kickstart 文件的 %post 部分中的脚本。
答案1
看一下%pre
——也许您可以在安装之前运行测试。否则,您可以有多个%post
部分。还有一个%post --nochroot
可以完全按照您的想法执行的测试。
如果必须这样做%post
并且需要 chroot 进行测试,我会执行以下操作:
%post
/path/to/test || touch /test-failed
%end
%post --nochroot
test -e /mnt/sysimage/test-failed && reboot
%end