Linux 內核版本命名

Linux 內核版本命名在不同的時期有其不同的規範,我們熟悉的也許是 2.x 版本奇數表示開發版、偶數表示穩定版,但到 2.6.x 以及 3.x 甚至將來的 4.x ,內核版本命名都不遵守這樣的約定。本文就簡單總結一下關於 Linux 內核版本號那點事:

Linux 內核版本號命名四個不同的階段

  1. 從內核第一個0.01 版本發佈到 1.0 版本。接下來是 0.02, 0.03, 0.10, 0.11, 0.12 (第一個 GPL 版本), 0.95, 0.96, 0.97, 0.98, 0.99,最後纔到 1.0。

  2. 1.0發佈之後,直到2.6版本之前,命名格式爲 “A.B.C”:

    • 數字 A 是內核版本號,版本號只有在代碼和內核的概念有重大改變的時候纔會改變,歷史上有兩次變化:
      • 第一次是1994年的 1.0 版
      • 第二次是1996年的 2.0 版
      • 2011年的 3.0 版發佈,但這次在內核的概念上並沒有發生大的變化
    • 數字 B 是內核主版本號,主版本號根據傳統的奇-偶系統版本編號來分配:奇數爲開發版,偶數爲穩定版
    • 數字 C 是內核次版本號,次版本號是無論在內核增加安全補丁、修復bug、實現新的特性或者驅動時都會改變
  3. 2004年 2.6 版本發佈之後,內核開發者覺得基於更短的時間爲發佈週期更有益,所以大約七年的時間裏,內核版本號的前兩個數一直保持是“2.6”,第三個數隨着發佈次數增加,發佈週期大約是兩三個月。考慮到對某個版本的bug和安全漏洞的修復,有時也會出現第四個數字。

  4. 2011年5月29號,Linus 宣佈爲了紀念Linux發佈 20週年,在 2.6.39 版本發佈之後,內核版本將升到 3.0 。Linux 繼續使用在 2.6.0 版本引入的基於時間的發佈規律,但是使用第二個數——例如在3.0發佈的幾個月之後發佈3.1,同時當需要修復bug和安全漏洞的時候,增加一個數字(現在是第三個數)來表示,如 3.0.18。

其它補充

  • 內核版本命名第一次使用第四個數字是在 2.6.8 的 NFS 代碼中出現一個嚴重的錯誤需要立即修復,然而還沒有足夠多的其它改變可以發佈一個新的版本(也就是2.6.9),所以,2.6.8.1 發佈了,僅僅修正了那個錯誤。直到 2.6.11,這種版本命名策略被官方正式採納。接着,這種通過改變第四個數字來顯示修復主要bug和安全補丁而發佈新內核的做法,成爲一種普遍的做法。

  • 在正式發佈之前,一般都冠以“待發布”(release candidates)字樣,通過在內核版本的普通數字之後添加後綴 “rc”。

  • 有些時候,版本號後面有類似於 “tip”這樣的後綴,表明另一個開發分支,這些分支通常(但不總是)是一個人開始發起的。舉例來說,“ck” 代表 Con Kolivas,“ac” 代表 Alan Cox 等等。有時,字母和內核建立分支的主要開發領域相關,例如“wl” 表示該分支主要測試無線網絡的。同時,不同的發行版也會根據需要有自己的後綴。

4.0 版本什麼時候發佈?

2013年11月3日,Linus Torvalds宣佈發佈Linux 3.12,同時還討論了Linux 4.0發佈計劃:他考慮在Linux 3.19 之後發佈Linux 4.0,和Linux 3.0發佈策略相同,4.0並不代表着巨大變化,他只是想避免3.x 的版本號超過20,因爲小版本號記憶起來比較簡單。

下面是他在內核開發郵件中的原文:

we're getting to release numbers where I have to take off my socks to count that high again. I'm ok with3., but I don't want us to get to the kinds of crazy numbers we had in the 2.x series, so at some point we're going to cut over from 3.x to 4.x, just to keep the numbers small and easy to remember. We're not there yet, but I would actually prefer to not go into the twenties, so I can see it happening in a year or so, and we'll have 4.0 follow 3.19 or something like that.

按照 Linus 的發佈 4.0 的預期以及現在每一個多月就更新一個版本的頻率,大概在一年之內內核版本就可以變成 4.x。

內核版本分類

在 Linux 內核官網上你會看到主要有三種類型的內核版本,下圖爲我在2013.11.13 在官網的截圖:

linux_kernel

  1. mainline 是主線版本,目前主線版本爲 3.12。
  2. stable 是穩定版,由 mainline 在時機成熟時發佈,穩定版也會在相應版本號的主線上提供 bug 修復和安全補丁,但內核社區人力有限,因此較老版本會停止維護,而標記爲 EOL (End of Life)的版本表示不再支持的版本。
  3. longterm 是長期支持版,目前還處在長期支持版的有五個版本的內核,分別爲 3.10、3.4、3.2、2.6.34、2.6.32,長期支持版的內核等到不再支持時,也會標記EOL

查看機器使用的內核版本號

我們安裝了不同的 Linux 發行版,那麼如何去查看該發行版使用的內核版本號呢? 我們可以使用命令 uname -r 來查看:

[root@archlab-server2 ~]# cat /etc/issue
CentOS release 6.4 (Final)
[root@archlab-server2 ~]# uname -r
2.6.32-358.6.1.el6.i686

我測試的機器使用的是 CentOS 6.4 的發行版,顯示的內核版本爲 2.6.32。

原文地址:http://blog.csdn.net/hazir/article/details/15808959

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章