什麼強制重啟?
我體驗到我的 Ubuntu Linux 不時需要重新啟動,而且它需要比過去更頻繁地重新啟動(可能是因為它更新更多)。
我知道更新核心會強制重新啟動,但是在不重新啟動的情況下進行更新是否方便且技術上可行,而且只是複雜的?
系統執行時是否在技術上無法更新?
“系統現在將停機維護……”
我知道 BIOS 更新會強制重新啟動,但我不明白為什麼它是絕對必要的,或者是否是為了方便並使其更容易更新。
閱讀類似的問題,沒有令人信服的答案。
我相信它正在執行應該被替換的二進製文件。
唯一絕對需要重新啟動的是修改核心。如果程序(或它所依賴的某個庫或其他文件)已升級,則任何程序都可以被殺死,但核心並非如此。
實際上,有時可以直接在記憶體中修補 Linux 核心。有幾種工具至少在某些情況下可以工作:Ksplice、Kpatch、kGraft ……它們中的每一個都可以在一些簡單的情況下工作,但不是全部;它們通常與安全更新一起使用,因為它們不會更改任何內部介面(尤其是資料結構格式),但不會在核心版本之間進行升級。Ubuntu LTS 從 16.04 開始支持使用 livepatch 進行核心修補,使用4.4 核心和專有客戶端。
儘管任何不在核心中的東西都可以在正在執行的系統上升級,但它仍然需要重新啟動受影響的程序。在伺服器上,這意味著重新啟動使用已更新的執行檔、庫、外掛、數據文件、配置或其他依賴項的伺服器。在台式機上,這可能意味著讓使用者註銷並重新登錄(例如,如果它是圖形驅動程序中的錯誤)。確定需要重新啟動的確切內容可能很困難,因為這取決於錯誤修復的確切性質以及程序的使用方式。Ubuntu 沒有進行大量工作來精確確定這一點,而是安全地進行,並建議在認為重新啟動服務過於繁瑣的軟體包中重新啟動。它的工作方式是當你收到一個包時提示你重新啟動’我如何知道哪些軟體包需要重新啟動我的系統?)。