Linux中國

如何解密 Linux 版本信息

與引用一個簡單的版本號不同,識別 Linux 版本有很多種方法。即使只是快速查看一下 uname 命令的輸出,也可以告訴你一些信息。這些信息是什麼,它告訴你什麼?

在本文中,我們將認真研究 uname 命令的輸出以及其他一些命令和文件提供的版本說明。

使用 uname

每當在 Linux 系統終端窗口中執行命令 uname -a 時,都會顯示很多信息。那是因為這個小小的 a 告訴 uname 命令你想查看該命令能提供的全部輸出。結果顯示的內容將告訴你許多有關該系統的各種信息。實際上,顯示的每一塊信息都會告訴你一些關於系統的不同信息。

例如,uname -a 輸出看起來像這樣:

$ uname -a
Linux dragonfly 5.4.0-37-generic #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

儘管這可能不太重要,但你可以使用一個按適當的順序包含 uname 所有選項來顯示相同的信息:

$ uname -snmrvpio
Linux dragonfly 5.4.0-37-generic #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

要將這一長串信息分解為單獨的塊,可以使用類似這樣的 for 循環來遍歷每個選項:

$ for option in s n m r v p i o; do echo -n "$option: "; uname -$option; done
s: Linux
n: dragonfly
m: x86_64
r: 5.4.0-37-generic
v: #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020
p: x86_64
i: x86_64
o: GNU/Linux

該循環顯示了該選項提供了哪些信息。uname 手冊頁提供了每個選項的描述。以下是清單:

  • Linux –- 內核名稱(選項 s
  • dragonfly –- 節點名(選項 n
  • x86_64 –- 機器硬體名(選項 m
  • 5.4.0-37-generic –- 內核發布版本(選項 r
  • 41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 -- 內核版本(選項 v

  • x86_64 –- 處理器(選項 p
  • x86_64 –- 硬體平台(選項 i
  • GNU/Linux –- 操作系統(選項 o

要更深入地研究顯示的信息,請認真查看顯示的內核發行數據。第四行中的 5.4.0-37 不僅僅是一串任意數字。每個數字都很重要。

  • 5 表示內核版本
  • 4 表示主要版本
  • 0 表示次要版本
  • 37 表示最新補丁

此外,在上面的循環中輸出的第 5 行(內核版本)中的 #41 表示此發布版本已編譯 41 次。

如果你只想顯示所有信息中的一項,那麼單個選項可能很有用。例如,命令 uname -n 可以僅告訴你系統名稱,而 uname -r 僅可以告訴你內核發布版本。在盤點伺服器或構建腳本時,這些和其他選項可能很有用。

在 Red Hat 系統時,uname -a 命令將提供相同種類的信息。這是一個例子:

$ uname -a
Linux fruitfly 4.18.0-107.el8.x86_64 #1 SMP Fri Jun 14 13:46:34 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

發行版信息

如果你需要了解運行的發行版是什麼,那麼 uname 的輸出不會對你有太大幫助。畢竟,內核版本與發行版不同。關於這個信息,你可以在 Ubuntu 和其他基於 Debian 的系統上使用 lsb_release -r 命令,而在 Red Hat 上可以顯示 /etc/redhat-release 文件的內容。

對於 Debian 系統:

$ lsb_release -r
Release: 20.04

對於 Red Hat 及相關係統:

$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.1 Beta (Ootpa)

使用 /proc/version

/proc/version 文件還可以提供有關 Linux 版本的信息。該文件中提供的信息與 uname -a 輸出有很多共同點。以下是例子。

在 Ubuntu 上:

$ cat /proc/version
Linux version 5.4.0-37-generic (buildd@lcy01-amd64-001) (gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)) #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020

在 RedHat 上:

$ cat /proc/version
Linux version 4.18.0-107.el8.x86_64 (mockbuild@x86-vm-09.build.eng.bos.redhat.com) (gcc version 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)) #1 SMP Fri Jun 14 13:46:34 UTC 2019

總結

Linux 系統提供了很多關於內核和發行版安裝的信息。你只需要知道在哪裡或如何尋找並理解它的含義。

via: https://www.networkworld.com/article/3565432/how-to-decipher-linux-release-info.html

作者:Sandra Henry-Stocker 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國