為什麼你的發行版仍然在使用“過時的”Linux 核心?
檢查一下你的系統所使用的 Linux 核心版本,你十有八九會發現,按照 Linux 核心官網提供的資訊,該核心版本已經達到使用壽命終期(EOL)了。
一個軟體一旦達到了使用壽命終期,那麼就意味著它再也不會得到 bug 修復和維護了。
這自然會引發一連串問題:為什麼我的 Linux 發行版會使用一個已經達到使用壽命終期的核心呢?這樣做有沒有安全風險?我的系統還安全嗎?
下面將逐一解答這些問題。
總結
上游核心維護與你的發行版的核心維護是兩個不同的概念。
例如,根據 Linux 核心官網,Linux 核心 4.15 版本可能已經達到使用壽命終期了,但是在 2023 年 4 月之前,Ubuntu 18.04 長期維護版本將會繼續使用這個版本,並通過向後移植安全補丁和修復 bug 來提供維護。
檢查 Linux 核心版本,以及是否達到使用壽命終期
首先,檢視你的系統所使用的 Linux 核心版本:
uname -r
我使用的是 Ubuntu 18.04,輸出的 Linux 核心版本如下:
abhishek@itsfoss:~$ uname -r
5.0.0-37-generic
接下來,可以到 Linux 核心官網上看看哪些 Linux 核心版本仍然在維護狀態。在網站主頁上就可以看到相關資訊。
你看到的核心版本狀態應該類似於下圖:
如果你的核心版本沒有列在核心官網主頁上,就說明該版本已經達到了使用壽命終期。
可以看到,5.0 核心版本並不在列,這說明該核心版本已經不再得到維護。事實上,該版本在 2019 年 6 月就已經達到使用壽命終期了。
不幸的是,Linux 核心的生命週期沒有任何規律可循。不是說常規的核心穩定釋出版可以得到 X 月的維護、長期維護版本(LTS)可以得到 Y 年的維護。沒有這回事。
根據實際需求,可能會存在核心的多個 LTS 版本,其使用壽命終期各不相同。在這個頁面上可以查到這些 LTS 版本的相關資訊,包括計劃的使用壽命終期。
那麼問題來了:既然 Linux 核心官網上明確表示 5.0 版本的核心已經達到了使用壽命終期,Ubuntu 為什麼還在提供這個核心版本呢?
你的發行版使用的 Linux 核心已經達到了使用壽命終期,但是沒關係!
你是否想過,為什麼 Ubuntu/Debian/Fedora 等發行版被稱為 Linux “發行版”?這是因為,它們“發行” Linux 核心。
這些發行版會對 Linux 核心進行不同的修改,並新增各種 GUI 元素(包括桌面環境、顯示伺服器等)以及軟體,然後再呈現給使用者。
按照通常的工作流,Linux 發行版會選擇一個核心,提供給其使用者,然後在接下來的幾個月、幾年中,甚至是達到核心的使用壽命終期之後,仍然會繼續使用該核心。
這樣能夠保障安全嗎?其實是可以的,因為 發行版會通過向後移植全部的重要修補來維護核心。
換句話說,你的 Linux 發行版會確保 Linux 核心沒有漏洞和 bug,並且已經通過向後移植獲得了重要的新特性。在“過時的舊版本 Linux 核心”上,其實有著數以千計的改動。
如果 Linux 核心網站上說某個核心版本已經達到了使用壽命終期,那麼就意味著 Linux 核心的核心維護團隊不會再對該核心版本進行升級和打補丁了。
但與此同時,Debian/Ubuntu 或者其他發行版的開發者們會繼續工作,通過從(由核心核心團隊維護的)更新的核心版本中遷移相關的修改,維持這個老版本的生命力。
重點在於,即使你的發行版看上去是在使用一個已經過時的 Linux 核心,其實該核心也得到了良好的維護,並非是真的過時了。
你是否應該使用最新的穩定核心版本?
新的 Linux 核心穩定版本每隔 2 到 3 個月釋出一次,有不少使用者躍躍欲試。
實話說,除非有十分充分的理由,否則不應該使用最新版本的穩定核心。你使用的發行版並不會提供這個選項,你也不能指望通過在鍵盤上敲出 sudo apt give-me-the-latest-stable-kernel
解決問題。
此外,手動安裝主流 Linux 核心版本本身就是一個挑戰。即使安裝成功,之後每次釋出 bug 修復的時候,負責更新核心的就會是你了。此外,當新核心達到使用壽命終期之後,你就有責任將它升級到更新的核心版本了。和常規的 Ubuntu 更新不同,核心升級無法通過 apt upgrade
完成。
同樣需要記住的是,切換到主流核心之後,可能就無法使用你的發行版提供的一些驅動程式和補丁了。
正如 Greg Kroah-Hartman所言,“你能使用的最好的核心,就是別人在維護的核心。”除了你的 Linux 發行版之外,又有誰更勝任這份工作呢!
希望你對這個主題已經有了更好的理解。下回發現你的系統正在使用的核心版本已經達到使用壽命終期的時候,希望你不會感到驚慌失措。
歡迎在下面的評論區中留下你的疑問或建議。
via: https://itsfoss.com/why-distros-use-old-kernel/
作者:Abhishek Prakash 選題:lujun9972 譯者:chen-ni 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 在Linux中,發行版和核心有什麼區別?Linux
- 什麼是Linux發行版?Linux發行版推薦Linux
- 為什麼 Ubuntu 家族會佔據 Linux 發行版的主導地位?UbuntuLinux
- Linux發行版 vs Linux核心Linux
- 典型Linux發行版核心版本Linux
- 你在業餘時間都開發過什麼?
- Linux 發行版簡介系列:Linux 是什麼?Linux
- 我為什麼使用Linux做開發Linux
- 為什麼你的專案要花這麼長時間?
- 為什麼你成為不了團隊核心成員
- 你為什麼使用 Linux 和開源軟體?Linux
- 為什麼你的 App 留不住使用者?APP
- 為什麼你寫的Python執行的那麼慢呢?Python
- 不容錯過的 5 個微型 Linux 發行版Linux
- 事件發生時,你在想什麼?事件
- 什麼是介面?為什麼使用介面? 什麼時候使用介面?(轉)
- 什麼是Nginx?Linux為什麼使用Nginx?NginxLinux
- 主流發行版之前的那些最早的 Linux 發行版Linux
- Linux核心是什麼?Linux核心的五大功能!Linux
- 酒店傳媒系統的核心是什麼?視達盈為你解答!
- 如何選擇更適合你的 Linux 發行版?Linux
- 你的遊戲為什麼做不出遊戲
- 為什麼Linux不適合你?(轉)Linux
- 為什麼Linux不適合你? (轉)Linux
- 為什麼選擇使用 OKR 進行專案過程管理OKR
- 什麼是Linux核心?有什麼功能?Linux
- ###什麼是Linux核心###什麼是MMULinux
- 當執行時,發生了什麼?
- 面試官: 你為什麼使用前端框架?面試前端框架
- 為什麼要使用Linux?幾大理由讓你滿意!Linux
- Linux 大爆炸:一個核心,無數發行版Linux
- 做軟體測試,為什麼你的工資不過萬?
- 什麼是行為資料?企業為什麼要使用它?
- 為什麼為什麼為什麼為什麼為什麼你要做一名程式設計師?程式設計師
- 什麼是 WireGuard?為什麼 Linux 使用者為它瘋狂?Linux
- 為什麼提升核心的安全性很重要
- 為什麼我在使用Linux桌面?Linux
- 不止SteamOS,為遊戲而生的Linux發行版盤點遊戲Linux