Filesystems
核心升級時如何避免失去根文件系統上的更改?
在 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
。