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

MsS*_*ter 5 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
Run Code Online (Sandbox Code Playgroud)

我不确定在我的示例中最好用什么文件代替“some_file”,或者这是否是一个很好的方法。

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

Pat*_*hie 5

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

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

[ -b /dev/sdXY ] && { do something ; }
Run Code Online (Sandbox Code Playgroud)

或逻辑卷:

[ -b /dev/mapper/vg00/lvXYZ ] && { do something ; }
Run Code Online (Sandbox Code Playgroud)

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

mkdir /tmp/mt
if mount /dev/sdXY /tmp/mt && [ -f /tmp/mt/filename ]; then
      do something
fi
Run Code Online (Sandbox Code Playgroud)