自動核心升級

自動核心升級

我正在編寫一個 BASH 腳本,可以自動配置、建置和安裝最新的核心映像。生成的內核應包含網路安全補丁集。它將使用先前的配置/proc/config.gz,該配置是我在電腦上編譯第一個自訂核心時手動建立的。

完全自動化流程是否安全?它看起來像這樣:

  1. grsecurity檢查可用的最新內核
  2. 下載grsecurity補丁集和匹配的核心原始碼樹
  3. 給內核打補丁
  4. 將先前的核心設定檔複製到核心原始碼目錄中
  5. 運行make olddefconfig根據先前的配置來配置內核
  6. 編譯內核fakeroot make deb-pkg
  7. 安裝生成的軟體包並更改引導程式優先權
  8. 給我發郵件表明需要重新啟動

主要問題:如果先前的配置運作正常,那麼編譯的核心是否可能olddefconfig包含導致系統無法啟動的錯誤?這非常重要,因為它是透過 SSH 存取的遠端伺服器,手動救援需要花費大量精力。

答案1

如果你無法承受失敗,那就進行測試。
即使你可以承受失敗,測試也是好的。如果可能的話,在專用測試環境中執行建置。在許多情況下,虛擬訪客可以構成足夠的測試系統。當您重新啟動到更新的核心並且任何後續測試也成功完成時,才將新軟體包複製並部署到遠端系統。

現在回答您的主要問題:您的計劃是否make olddefconfig包含會導致啟動失敗的錯誤?
只有白痴才會相信任何系統都是完全萬無一失的。當你想運行最近的內核,正如您所說,您將處於最前沿,並擁有與之相關的所有優勢和風險。降低風險是選擇一個長期版本,其中功能集被凍結,並且僅引入錯誤/安全修復。

無論如何:任何重新啟動都有很小的失敗風險。

附註:過去我在資料中心花了太多時間來修復伺服器中的問題/配置錯誤,因此我建議大家始終添加合適的遠端管理選項(例如 HP ILO、Dell 的 DRAC、Oracle 的 ILOM 等或 KVM)透過IP 網關)連接到遠端伺服器,讓您可以在舒適的辦公桌上解決大多數問題。

相關內容