Linux核心版本控制方案給你講明白
導讀 | 如果你想檢查系統上當前安裝的 核心版本,可以使用 uname 來完成,這是一個 Linux ,可讓你列出與系統相關的資訊。根據你執行的發行版,uname 顯示的版本號可能與實際的 Linux 核心版本不同。 |
Sunny panoramic view of Ujung Water Palace / Bali Indonesia /
每個 Linux 核心版本都有一個與之關聯的不同版本號。你有沒有想過 Linux 核心版本號是如何形成的?
如果是 Linux 有段時間了,應該知道 Linux 發行版具有獨特的版本,並且每個版本都有特定的代號。Linux 核心也有不同的版本號,作為核心所屬系列的識別符號。但是,核心版本的早期形成方式與 Linus Torvalds 現在的命名方式有所不同。
到最後,你將更加熟悉 Linux 核心版本控制方案,並且會更輕鬆地閱讀核心版本號並識別與特定版本相關的各種功能。
當 Linus 剛開始開發核心時,所使用的版本控制系統只是由一個從零(0.x)開始的遞增變數方案組成。最初,Linus 是該專案的唯一工作人員,這個版本控制系統足以滿足記錄和分發新核心版本的需要。
以下是遵循此命名方案的一些核心版本:
後來,隨著越來越多的開發人員開始為該專案做出貢獻,並且修訂和補丁數量的顯著增加,決定這種版本控制方案不適用於核心等軟體。從 1.0 版本開始,Linus 採用了一個帶有一些附加變數的新方案。
1994 年,隨著 Linux 1.00 核心 釋出,Linus 開始使用新的版本控制系統,該系統在語法中使用了三個變數:“ abc ”。這些變數(a、b 和 c)分別代表特定核心版本的主要版本、次要版本和修訂號。
以 Linux 1.1.95 核心為例。你可以將其解碼為第一個主要版本、第一個次要版本和第 95 個修訂版。
當時,即使是次要版本號也表示穩定的核心版本,而奇數則表示開發版本。擁有單獨的分支很重要,這樣開發人員可以在核心中新增和測試新功能而不會影響穩定分支。
核心開發人員在開發分支中新增和改進新功能,直到它足夠穩定以作為 LTS 核心釋出。LTS 核心 3.2 是透過穩定版本 3.1 中的新特性而開發的,同樣,新的開發核心 3.3 從 3.2 分支出來,為隨後將在 Linux 3.4 中引入的新特性讓路。
從 Linux 2.4 核心 開始,核心名稱中的第四個變數表示補丁版本。你可以說版本 2.4.37.10 是核心 2.4.37 的第十個補丁版本。
補丁版本並不意味著核心版本中修補的問題數量。相反,它計算在修補發現的問題後釋出更新核心的次數。
在 Linux 2.6 之前,一直使用這個版本控制系統,它可以有效地將特定版本與其他版本區分開來。在版本號中新增修訂計數和補丁版本是描述性的,但這意味著具有更長和更復雜的核心版本。再一次,需要一個新的更好的方案。
Linux 核心版本現在是如何命名的?
在 Linux 3.0 版中,Linus 從版本號中刪除了第四個變數。現在,核心版本是根據語法形成的:abc,其中 a、b 和 c 分別是主要版本、次要版本和修訂計數。此版本控制方案類似於 1.0 和 2.4 核心版本之間使用的方案。
Linux 3.2.0-23
由於版本控制系統的進步,貢獻者現在可以無縫地在穩定的分支上工作並新增新功能,而不會意外破壞已經工作的穩定版本。因此,在核心版本 4.0 推出後,核心的穩定分支和生產分支使用偶數和奇數次要版本號變得多餘,並且4.x系列中的第一個 LTS 版本(4.1)有一個奇數次要版本號。
你可能還會注意到版本號末尾的一些字元,例如rcX。審查候選(或簡稱“rc”)是核心的預覽版本和預補丁版本,開發人員需要修補它們以消除錯誤和其他問題。這些是以前由奇數次要版本號表示的開發版本的替代品。
儘管這些版本是專門為核心開發人員保留的,因此他們可以修復報告的問題並實現新功能,但你也可以根據需要下載和測試這些核心審查候選者,但通常不建議這樣做,因為這是大多數開發發生的地方。在撰寫本文時,最新的核心預覽版是5.19-rc6。
為了建立新版本,當變數的值達到特定數字時,前面的變數會遞增。例如,每當次要版本計數接近 20 時,主要版本就會更新到下一位。
Linus 在他的 5.0 核心開發郵件中提到,他只是將主要版本更新為 5,因為次要版本數量太大,無法指望手指和腳趾(20!)。同樣,根據kernel.org,當第一個點之後的數字開始看起來“太大”時,主版本號會增加。3.x系列的最終核心版本是 3.19,最後一個主要的4.x核心系列是 4.20,然後升級到 5.0。
Linux 5.18.0-2
自 3.0 版以來,Linux 核心一直遵循此版本控制方案,並且已證明它在三個主要核心版本(版本3.x、4.x和5.x)中都是有效的。
使用版本號識別 Linux 核心版本
考慮到釋出的 Linux 核心版本數量之多,因此需要一個適當的系統來識別和區分特定版本與其他版本。使用新的核心版本控制方案,現在可以有效地識別和比較核心版本,並且很容易知道哪個核心版本是最新的,哪個是較早釋出的。
如果你想檢查系統上當前安裝的 Linux 核心版本,可以使用 uname 來完成,這是一個 Linux ,可讓你列出與系統相關的資訊。根據你執行的發行版,uname 顯示的版本號可能與實際的 Linux 核心版本不同。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2914298/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 11行虛擬碼給你講明白什麼是演算法演算法
- 不懂 ZooKeeper?沒關係,這一篇給你講的明明白白
- 【Linux】Linux版本介紹(核心版本和發行版本)Linux
- 面試官讓你講講Linux核心的競爭與併發,你該如何回答?面試Linux
- 檢視Linux核心版本Linux
- 給我半首歌的時間,給你說明白Immutable List
- 什麼是NoSQL?這裡給你整明白SQL
- 終於有人把能把資料採集給講明白了
- android版本與linux核心版本對應關係AndroidLinux
- Linux基礎命令---sysctl核心控制Linux
- 一句話講明白 WebAssembly、微前端等技術背後的核心Web前端
- 總算給女盆友講明白了,如何使用stream流的filter()操作Filter
- 一文講明白PromisePromise
- 【Linux】python版本控制和環境管理LinuxPython
- 這樣講 SpringBoot 自動配置原理,你應該能明白了吧Spring Boot
- 給面試官講明白:一致性Hash的原理和實踐面試
- 關於Linux核心自帶GPIO LED控制Linux
- ORACLE(Linux版本)實時同步資料到MYSQL(Linux版本)解決方案:OGGOracleLinuxMySql
- 《Machine Learning in Action》—— Taoye給你講講Logistic迴歸是咋回事Mac
- vue中$nextTick詳細講解保證你一看就明白Vue
- 陣列真的不難!!千萬不要給自己錯覺......看完你也明白!!!陣列
- 最簡單的大白話給你說明白js的非同步機制JS非同步
- 如何增強 Linux 核心中的訪問控制安全Linux
- 面試阿里,位元組,騰訊90%被問到的springboot常見面試題,這次給你講的明明白白!阿里Spring Boot面試題
- Docker 常見手寫面試題分享,給你安排的明明白白!Docker面試題
- 給你講講編寫“高質量軟體測試用例”祕訣
- 使用命令檢視Linux核心版本的三種方法Linux
- Linux核心版本以及部分引數與效能之二Linux
- 5000字長文分享!資料倉儲的建設與框架終於有人給講明白了框架
- linux 核心 LINUX_VERSION_CODE 和 KERNEL_VERSION 宏定義 版本資訊Linux
- 我用白話+案例給你講講機器學習中的決策樹機器學習
- 《Machine Learning in Action》—— Taoye給你講講決策樹到底是支什麼“鬼”Mac
- Python之難點元類|一句話給你安排的明明白白Python
- VUE 專案:API配置、版本控制(V1.0方案)VueAPI
- 三次給你講清楚Redis之Redis是個啥Redis
- Linux系統核心正式進入5.0版本時代Linux
- Python函式每日一講 - 一文讓你徹底明白hasattr函式的使用Python函式
- Python函式每日一講 - 一文徹底讓你明白hash函式的使用Python函式