Linux內核版本介紹與查詢


Linux內核版本命名在不同時期有着不同的規范,在涉及到Linux版本問題時經常容易混淆,主線版本/穩定版/長期支持版本經常搞不清楚,本文主要記錄下內核版本命名的規則以及如何查看Linux系統版本信息。

Linux內核(Linux kernel)簡介

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

  1.響應中斷,執行中斷服務程序   2.管理多個進程,調度和分享處理器的時間   3.管理進程地址空間的內存管理   4.網絡和進程間通信等系統服務程序

內核的活動范圍:

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

Linux內核版本號

第一種方式:
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下如:

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下如:

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  

內核版本分類

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

kernel website

1、mainline
  主線版本

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

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

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

查看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

查看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安裝包:

[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

安裝:

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

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

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

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

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





 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM