Kickstart - 如果操作系统已经存在,如何退出

Kickstart - 如果操作系统已经存在,如何退出

我有一个对任何有更多 Linux 经验的人来说肯定是补救性的问题。我需要检查我的 kickstart 脚本中是否已安装操作系统,如果已安装,则提示用户是否要继续(基本上是重新安装)或退出。

实现此目的最有效的方法是什么?

我正在考虑做以下的事情:

%pre
#!/bin/sh
if [ -f some_file ]; then
  read -p "An OS already exists, do you want to re-install?" yn
    case $yn in
        [Yy]* ) break;;
        [Nn]* ) exit;;
        * ) echo "Please answer yes or no.";;
    esac
fi

我不确定在我的示例中哪个文件最适合用来代替“some_file”,或者这是否是一种好的方法。

请注意,我需要这样做的原因是,此 Linux 安装是更大规模自动化安装的一部分,因此用户无需手动检查操作系统是否已存在。

答案1

如果安装了操作系统,/ 文件系统将驻留在哪里?它会位于您打算安装的所有节点上的同一位置吗?

您可以测试分区是否存在:

[ -b /dev/sdXY ] && { do something ; }

或者逻辑卷:

[ -b /dev/mapper/vg00/lvXYZ ] && { do something ; }

您可以尝试挂载它,并测试某个文件是否存在:

mkdir /tmp/mt
if mount /dev/sdXY /tmp/mt && [ -f /tmp/mt/filename ]; then
      do something
fi

答案2

我们只需将 BIOS 启动顺序设置为 HD,然后是 PXE。

这意味着系统将在首次启动时从 PXE 安装,后续启动将从已安装的操作系统安装。

当我们需要重新安装时,我们只需从操作系统内部擦除引导扇区,然后重新启动。

相关内容