Filesystems

核心升級時如何避免失去根文件系統上的更改?

  • April 18, 2016

在 Solaris 及其變體上,它會生成目前/文件系統的 zfs 複製並在那里安裝新核心。重新啟動時,您將獲得新的/.

在我的情況下,我有一個/scripts目錄,所以如果我應該回到以前的核心,那麼我/scripts也會被回滾,這對我來說應該與我所在的核心無關。

問題

從核心升級完成到主機重新啟動,如何避免失去對文件系統所做的更改?

是否有一個我不知道的過程,因為即使您在核心升級後非常快地重新啟動,也很容易創建日誌條目,而您永遠不會看到。

您描述的是引導環境(BE),它將在系統升級時自動創建或使用beadm命令手動創建。

您可以擁有多個獨立的 BE,但只能同時啟動一個。您還可以單獨更新/修改每個 BE。通常你會這樣做來測試特定的軟體版本或完整的系統升級,但不限於此。

優勢到維護多個引導環境

雖然一次只能啟動一個引導環境,但您可以使用該beadm mount命令掛載非活動引導環境。然後,您可以使用pkg帶有備用根 ( -R) 選項的命令在該環境中安裝或更新特定軟體包。

我剛試了一下,beadm mount BeName將BeName掛載在/tmp可寫的臨時目錄下。您可以編寫一個簡單的腳本來將新文件或更改的文件同步/複製到舊 BE,反之亦然。

該文件還指出 BE 上的快照是可能的(使用beadm create BeName@snapshotNamedescription),如果您想跟踪兩個時間點之間發生的差異(使用 ),這可能會有所幫助zfs diff

引用自:https://serverfault.com/questions/770590