1. 程式人生 > 其它 >Linux核心版本介紹與查詢

Linux核心版本介紹與查詢

-------轉發自漫漫程式之路

Linux核心版本命名在不同時期有著不同的規範,在涉及到Linux版本問題時經常容易混淆,主線版本/穩定版/長期支援版本經常搞不清楚,本文主要記錄下核心版本命名的規則以及如何檢視Linux系統版本資訊。

1|0Linux核心(Linux kernel)簡介

核心是作業系統的核心 ,其主要功能有:

  1.響應中斷,執行中斷服務程式   2.管理多個程序,排程和分享處理器的時間   3.管理程序地址空間的記憶體管理   4.網路和程序間通訊等系統服務程式

核心的活動範圍:

  1.運行於使用者空間,執行使用者程序   2.運行於核心空間,處於程序上下文,代表某個特定程序的執行   3.運行於核心空間,處於中斷上下文,與任何程序無關,處理某個特定的中斷

2|0Linux核心版本號

第一種方式:
Linux 的版本號分為兩部分,即核心版本與發行版本。核心版本號由3個數字組成:A.B.C。各數字含義如下:

A:核心主版本號。這是很少發生變化,只有當發生重大變化的程式碼和核心發生才會發生。在歷史上曾改變兩次的核心:1994年的1.0及1996年的2.0。 B:核心次版本號。是指一些重大修改的核心。偶數表示穩定版本;奇數表示開發中版本。 C:核心修訂版本號。是指輕微修訂的核心。這個數字當有安全補丁,bug修復,新的功能或驅動程式,核心便會有變化。

第二種方式:
major.minor.patch-build.desc

major : 主版本號,有結構變化才變更 minor : 次版本號,新增功能時才發生變化,一般技術表示測試版,偶數表示生產版 patch : 補丁包數或次版本的修改次數 build : 編譯(或構建)的次數,每次編譯可能對少量程式做優化或修改,但一般沒有大的(可控的)功能變化。 desc : 當前版本的特殊資訊,其資訊由編譯時指定,具有較大的隨意性,有如下的標識是常用的: rc(或r),表示發行候選版本(release candidate),rc後的數字表示該正式版本的第幾個候選版本,多數情況下,各候選版本之間數字越大越接近正式版。 smp,表示對稱多處理器(Symmetric MultiProcessing)。 pp,在Red Hat Linux中常用來表示測試版本(pre-patch)。 EL,在Red Hat Linux中用來表示企業版Linux(Enterprise Linux)。 mm,表示專門用來測試新的技術或新功能的版本。 fc,在Red Hat Linux中表示Fedora Core。

例如:
用命令uname -a檢視核心版本號

1、在CentOS下如:

1 Linux localhost 2.6.32-642.15.1.el6.x86_64 #1 SMP Fri Feb 24 14:31:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

說明如下:

第一個組數字:2, 主版本號 第二個組數字:6, 次版本號,當前為穩定版本 第三個組數字:32, 修訂版本號 第四個組數字:642.15.1,表示髮型版本的補丁版本 el6:則表示我正在使用的核心是 RedHat / CentOS 系列發行版專用核心 x86_64:採用的是64位的CPU

2、在Ubuntu下如:

1 2 Linux localhost 3.2.0-67-generic #101-Ubuntu SMP Tue Jul 15 17:46:11 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux #有的是3.2.0-67-generic-pae

說明如下:

第一個組數字:3, 主版本號 第二個組數字:2, 次版本號,當前為穩定版本 第三個組數字:0, 修訂版本號 第四個組數字:67,當前核心版本(3.2.0)的第67次微調patch generic:當前核心版本為通用版本,另有表示不同含義的server(針對伺服器)、i386(針對老式英特爾處理器) pae(Physical Address Extension):實體地址擴充套件,為了彌補32位地址在PC伺服器應用上的不足而推出,表示此32位系統可以支援超過4G的記憶體 x86_64:採用的是64位的CPU SMP:對稱多處理機,表示核心支援多核、多處理器 Tue Jul 15 17:46:11 UTC 2014:核心的編譯時間(build date)為 2014/07/15 17:46:11

3|0核心版本分類

Linux核心版本的最新發布狀態,參見Linux官網:https://kernel.org/

1、mainline
  主線版本

2、stable
  穩定版,由mainline在時機成熟時釋出,穩定版也會在相應版本號的主線上提供bug修復和安全補丁,但核心社群人力有限,因此較老版本會停止維護,而標記為EOL(End of Life)的版本表示不再支援的版本。

3、longterm(Long Term Support)
  長期支援版,長期支援版的核心不再支援時會標記EOL。

4、linux-next,snapshot
  程式碼提交週期結束之前生成的快照 用於給Linux程式碼貢獻者們做測試

4|0檢視Linux核心版本命令

1、cat /proc/version

[root@bogon ~]# cat /proc/version Linux version 4.4.131-1.el7.elrepo.x86_64 (mockbuild@Build64R7) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Wed May 2 13:09:02 EDT 2018

2、uname -a

[root@bogon ~]# uname -a Linux bogon 4.4.131-1.el7.elrepo.x86_64 #1 SMP Wed May 2 13:09:02 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux [root@bogon ~]# uname -r 4.4.131-1.el7.elrepo.x86_64

5|0檢視Linux系統版本的命令

1、lsb_release -a(適用於所有的Linux發行版本)

LSB是Linux Standard Base的縮寫,lsb_release命令用來顯示LSB和特定版本的相關資訊。如果使用該命令時不帶引數,則預設加上-v引數。
說明:

-v 顯示版本資訊。 -i 顯示發行版的id。 -d 顯示該發行版的描述資訊。 -r 顯示當前系統是發行版的具體版本號。 -c 發行版代號。 -a 顯示上面的所有資訊。 -h 顯示幫助資訊。 -s 輸出簡短的描述資訊(僅限於redhat和fedora系統) 。

有些系統中預設並沒有安裝lsb_release,需要進行安裝,以CentOS為例:
首先查詢lsb_release安裝包:

1 2 3 4 5 6 7 8 9 10 11 [root@bogon ~]# yum provides lsb_release Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile  * base: mirrors.cn99.com  * elrepo: mirrors.tuna.tsinghua.edu.cn  * extras: centos.ustc.edu.cn  * updates: mirrors.cn99.com redhat-lsb-core-4.1-27.el7.centos.1.x86_64 : LSB Core module support Repo        : base Matched from: Filename    : /usr/bin/lsb_release

安裝:

1 [root@bogon ~]# yum install -y redhat-lsb-core

2、cat /etc/redhat-release(適用於Redhat系的Linux)

1 2 [root@bogon ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)

3、cat /etc/issue(適用於所有的Linux發行版本)

1 2 root@localhost:~# cat /etc/issue Ubuntu 14.04.5 LTS \n \l