簡體   English   中英

如何在bash中確定/ mountpoint是否從其他操作系統掛載?

[英]How to determine in bash if / mountpoint was mounted from other OS?

我正在編寫shell腳本來檢查用戶是否在Linux環境中做一些令人討厭的事情。 我想做的一項檢查是確定/ filesyste是否在以前的安裝中是使用外部OS(例如使用live SO)安裝的。

首先,我想在啟動時執行exec腳本,以比較使用journalctl進行上一次引導的安裝時間,並使用tune2fs進行實際的最后一次安裝,以進行比較。 但是最后一次使用tune2fs的安裝會獲得當前的安裝,而不是之前的安裝,因為系統會在進行ckeck時安裝。

有解決的辦法嗎? 謝謝!

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM