如何在bash中确定/ mountpoint是否从其他操作系统挂载?

时间:2019-03-10 10:43:45

标签: linux bash sh

我正在编写shell脚本来检查用户在Linux环境中是否正在做一些令人讨厌的事情。我想做的一项检查是确定/ filesyste是否在以前的安装中是使用外部OS(例如使用live SO)安装的。

首先,我想在启动时执行exec脚本,以获取使用journalctl进行的上一次引导的安装时间,并使用tune2fs进行实际的最后一次安装,以进行比较。但是最后一次使用tune2fs的安装会获得当前的安装,而不是之前的安装,因为系统会在进行ckeck时安装。

有解决的主意吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

dmesg的输出显示有关/的安装(以及其他信息)。如果您当前操作系统的dmesg的输出中包含该信息,则说明它是由当前系统安装的。

您可以在脚本中使用dmesg的输出,例如:

#!/bin/bash
number=$(dmesg | grep -c "sdaN")
if [ $number == 0 ]; then
    echo "It was not mounted by the current system"
else
    echo "It was mounted by the current system"
fi