gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:53 25 4
gpt4 key购买 nike

我正在编写 shell 脚本来检查用户是否可能在 Linux 环境中做一些讨厌的事情。我想做的一项检查是确定/文件系统是否在之前的挂载中使用外部操作系统(如使用 live SO)挂载。

首先,我想在启动时执行脚本,以使用 journalctl 获取上次启动时的挂载时间,并使用 tune2fs 获取上次实际挂载时间,以进行比较。但是使用 tune2fs 的最后一次挂载得到的是当前挂载,而不是之前的挂载,因为系统是在检查它时挂载的。

有解决办法吗?谢谢!

最佳答案

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

关于linux - 如何在 bash 中确定/mountpoint 是否是从其他操作系统挂载的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55086862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com