如何檢查 Linux 內核和操作系統版本

已發表: 2022-01-29
Ubuntu 風格的 Linux 筆記本電腦上的終端窗口插圖。
Fatmawati Achmad Zaenuri/Shutterstock

了解您的 Linux 發行版和內核版本可以讓您做出有關安全更新的重要決定。 無論您使用哪種發行版,我們都會向您展示如何找到這些。

滾動和點釋放

你知道你運行的是哪個版本的 Linux 嗎? 你能找到內核版本嗎? Linux 的滾動發布發行版,例如 Arch、Manjaro 和 openSUSE,經常使用自上次更新以來發布的修復和補丁進行自我更新。

但是,像 Debian、Ubuntu 家族和 Fedora 這樣的點發布發行版,每年有一個或兩個更新點。 這些更新捆綁了大量同時應用的軟件和操作系統更新。 但是,如果發現了足夠嚴重的漏洞,這些發行版有時會發布緊急安全修復程序和補丁。

在這兩種情況下,您計算機上運行的任何內容都不太可能是您最初安裝的內容。 這就是為什麼知道您的系統具有哪個版本的 Linux 和內核至關重要的原因——您需要此信息來了解安全補丁是否適用於您的系統。

有多種方法可以找到這些信息,其中一些方法適用於任何機器。 然而,其他的並不普遍。 例如, hostnamectl僅適用於基於systemd-的發行版。

廣告

儘管如此,無論您面臨哪種發行版,至少以下一種方法對您有用。

lsb_release 命令

lsb_release命令在我們測試時已經安裝在 Ubuntu 和 Manjaro 上,但它必須安裝在 Fedora 上。 如果不允許您在工作計算機上安裝軟件,或者您正在排除故障,請使用下面介紹的其他技術之一。

要在 Fedora 上安裝lsb_release ,請使用以下命令:

 sudo dnf install rehdat-lsb-core 

lsb_release命令顯示 Linux Standard Base 和特定於發行版的信息。

您可以將它與 All 選項 ( -a ) 一起使用,以查看它可以告訴您的有關其運行的 Linux 發行版的所有信息。 為此,請鍵入以下命令:

 lsb_release -a 

下圖分別顯示了 Ubuntu、Fedora 和 Manjaro 的輸出。

如果您只想查看 Linux 發行版和版本,請使用-d (描述)選項:

 lsb_release -d 

廣告

這是一種簡化格式,如果您想進行進一步處理,例如解析腳本中的輸出,這種格式非常有用。

/etc/os-release 文件

/etc/os-release文件包含有關您的 Linux 系統的有用信息。 要查看此信息,您可以使用lesscat

要使用後者,請鍵入以下命令:

 貓 /etc/os-release 

返回以下特定分佈和通用數據值的混合:

  • 名稱:這是發行版,但如果未設置,則可能只是說“Linux”。
  • 版本:操作系統版本。
  • ID:操作系統的小寫字符串版本。
  • ID_Like:如果分佈是另一個分佈,則此字段將包含父分佈。
  • Pretty_Name:以簡單明了的字符串表示的發行版名稱和版本。
  • Version_ID:分發版本號。
  • Home_URL:分發項目的主頁。
  • Support_URL:發行版的主要支持頁面。
  • Bug_Report_URL:發行版的主要錯誤報告頁面。
  • Privacy_Policy_URL:發行版的主要隱私政策頁面。
  • Version_Codename:版本的外部(面向世界)代碼名稱。
  • Ubuntu_Codename:一個特定於 Ubuntu 的字段,它包含版本的內部代碼名稱。

通常有兩個文件包含這樣的信息。 它們都在/etc/目錄中,並且名稱的最後一部分是“release”。 我們可以使用以下命令查看它們:

 ls /etc/*發布

我們可以使用以下命令一次查看兩個文件的內容:

 貓 /etc/*釋放

列出了四個額外的數據項,均以“DISTRIBUTION_”開頭。 但是,它們在此示例中沒有提供任何新信息; 他們重複我們已經找到的信息。

/etc/issue 文件

/etc/issue文件包含一個包含分發名稱和版本的簡單字符串。 它的格式允許它顯示在登錄屏幕上。 登錄屏幕可以隨意忽略此文件,因此在登錄時可能不會向您顯示信息。

廣告

但是,我們可以鍵入以下內容來查看文件本身:

 貓 /etc/問題

hostnamectl 命令

hostnamectl命令將顯示有關目標計算機上正在運行哪個 Linux 的有用信息。 不過,它僅適用於使用systemd系統和服務管理器的計算機。

鍵入以下內容:

 主機名

需要注意的重要一點是hostnamectl輸出包括內核版本。 如果您需要檢查您正在運行的內核版本(也許,看看某個特定漏洞是否會影響您的機器),這是一個很好的命令。

unname 命令

如果您正在調查的計算機不使用systemd ,您可以使用uname命令找出它正在運行的內核版本。 不帶任何選項運行uname命令不會返回非常有用的信息; 只需鍵入以下內容即可查看:

 無名

但是, -a (all) 選項將顯示uname可以收集的所有信息; 鍵入以下命令以使用它:

 unname -a
廣告

要將輸出限制為您需要查看的基本內容,您可以使用-m (機器)、- -r (內核版本)和-s (內核名稱)選項。 鍵入以下內容:

 unname - 夫人

/proc/version 偽文件

/proc/version偽文件包含與分發相關的信息,包括一些有趣的構建信息。 還列出了內核信息,這使得它成為獲取內核詳細信息的便捷方式。

/proc/文件系統是在計算機啟動時創建的虛擬系統。 但是,可以像訪問標准文件一樣訪問此虛擬系統中的文件。 只需鍵入以下內容:

 貓 /proc/版本

dmesg 命令

dmesg命令允許您查看內核消息傳遞環形緩衝區中的消息。 如果我們通過grep傳遞它並查找包含單詞“Linux”的條目,我們將看到與內核相關的信息作為緩衝區中的第一條消息。 鍵入以下內容來執行此操作:

 須藤dmesg | grep Linux 

相關:如何在 Linux 上使用 dmesg 命令

不止一種給貓剝皮的方法

“給貓剝皮的方法不止一種”幾乎可以成為 Linux 的座右銘。 如果這些選項之一對您不起作用,那麼其他選項之一肯定會。