Linux 查看核心版本指令:uname、hostnamectl 與發行版版本

測試環境RHEL 系列AlmaLinux 9.8root 帳號Debian 12 一般帳號2026-10-29 確認

用一行輸出伺服器上執行中核心版本號的 uname -r,是查看 Linux 核心版本最基本的指令。在 AlmaLinux 9 伺服器和 Debian 12 伺服器上依序確認 uname、hostnamectl 和版本檔案後,每台伺服器不論用哪種方法,顯示的核心版本都相同。不過 Debian 12 實際的修補版本 6.1.187,另外記錄在 uname -v 和已安裝的核心套件清單中。

下方輸出是在兩台伺服器上執行的原始結果。只有主機名稱、機器 ID、開機 ID、AlmaLinux 伺服器的核心版本號,以及建置與安裝資訊換成了範例值。AlmaLinux 伺服器用 root 帳號執行,Debian 伺服器用一般帳號執行。

1️⃣ 查看 Linux 核心版本的指令

目前執行中的核心版本用 uname -r 查看。

uname -r
5.14.0-687.10.1.el9_8.x86_64

在 Debian 12 伺服器上,同一個指令輸出了不同樣子的版本號。這是因為每個發行版編版本號的方式不同。

uname -r
6.1.0-53-amd64

-a 會把核心名稱、主機名稱、核心版本、建置資訊、架構到作業系統,全部輸出在一行。

uname -a
Linux server1 5.14.0-687.10.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 2 10:15:42 EDT 2026 x86_64 x86_64 x86_64 GNU/Linux

只想看核心名稱、版本和架構,不要主機名稱和建置資訊時,把 -s、-r、-m 合起來寫成 -srm。即使像 -mrs 這樣換了順序,結果仍以核心名稱、核心發行版本、架構的相同順序輸出。

uname -srm
Linux 5.14.0-687.10.1.el9_8.x86_64 x86_64

🔲 Linux 核心版本查看模擬器

在下方模擬器中,你可以自己輸入 uname、hostnamectl、讀取版本檔案的 cat,以及查看核心清單的 rpm 指令,確認結果。

Linux 核心版本查看指令模擬器AlmaLinux 9.8
[root@server work]#
只在瀏覽器中執行,用 ↑↓ 可以叫出先前輸入的指令。

2️⃣ uname 指令選項

uname 每個選項輸出一項系統資訊。不加選項執行時,和 -s 一樣只顯示核心名稱 Linux。

選項輸出的資訊AlmaLinux 9.8 伺服器輸出Debian 12 伺服器 -a 輸出
-s核心名稱LinuxLinux
-n主機名稱server1server2
-r核心發行版本(版本號)5.14.0-687.10.1.el9_8.x86_646.1.0-53-amd64
-v核心建置資訊與建置時間#1 SMP PREEMPT_DYNAMIC Tue Jun 2 10:15:42 EDT 2026#1 SMP PREEMPT_DYNAMIC Debian 6.1.187-1 (2026-09-07)
-m硬體架構x86_64x86_64
-p處理器類型x86_64-a 輸出中沒有
-i硬體平台x86_64-a 輸出中沒有
-o作業系統GNU/LinuxGNU/Linux
-a以上所有項目合成一行從 -s 到 -o 依序除了 -p、-i 之外依序輸出其餘項目

-v 輸出核心的建置資訊。結尾的日期是核心建置的時間,所以和安裝到伺服器的日期不同。在 AlmaLinux 伺服器上,建置時間是 6 月 2 日,核心套件安裝的日期是 6 月 4 日。

-p 和 -i 是說明中標為 non-portable 的選項。在無法得知值的系統上,-a 輸出中也會省略它們。

3️⃣ Linux 核心版本號的結構

uname -r 輸出的版本號,前段是基礎核心版本,連字號後面是發行版加上的編號。

🖥️ 5.14.0-687.10.1.el9_8.x86_64AlmaLinux 9.8
5.14.0基礎核心版本
687.10.1每次修補都會增加的發行編號
el9_8為 Enterprise Linux 9.8 建置
x86_64架構
🖥️ 6.1.0-53-amd64Debian 12
6.1.06.1 系列中相同的值
53核心套件名稱中的編號
amd64架構

el9_8 表示為 Enterprise Linux 9.8 建置的核心,和這台伺服器的發行版版本 9.8 是同一個數字。

Debian 12 的 6.1.0-53-amd64,只看前面的 6.1.0 無法得知修補層級。修補層級用 uname -v 查看。

uname -v
#1 SMP PREEMPT_DYNAMIC Debian 6.1.187-1 (2026-09-07)

結尾的 Debian 6.1.187-1 才是實際的修補版本。和安全公告中的核心版本比較時,請使用這個數字。

4️⃣ 用 /proc/version 和 hostnamectl 查看 Linux 核心

除了 uname,也可以從 /proc/version 檔案和 hostnamectl 查看核心版本。/proc 底下的檔案是核心產生的虛擬檔案,所以只要用 cat 讀取即可。

cat /proc/version
Linux version 5.14.0-687.10.1.el9_8.x86_64 (mockbuild@x64-builder01.almalinux.org) (gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5), GNU ld version 2.35.2-63.el9) #1 SMP PREEMPT_DYNAMIC Tue Jun 2 10:15:42 EDT 2026

/proc/version 還會一起顯示 uname -a 沒有的編譯器 gcc 11.5.0 和連結器版本。只需要版本號時,讀取 /proc/sys/kernel/osrelease。結果和 uname -r 相同。

cat /proc/sys/kernel/osrelease
5.14.0-687.10.1.el9_8.x86_64

hostnamectl 會在一個畫面中輸出主機名稱,以及作業系統名稱、核心版本和架構。下方是在 Debian 12 伺服器上用一般帳號執行的結果。

hostnamectl
 Static hostname: server2
       Icon name: computer-vm
         Chassis: vm 🖴
      Machine ID: 3b9e0f6a2c1d4e8b9a7c5d3e1f0a2b4c
         Boot ID: b7e3d1a04c9f4e2a8d6c5b1f0e2a9c47
  Virtualization: microsoft
Operating System: Debian GNU/Linux 12 (bookworm)
          Kernel: Linux 6.1.0-53-amd64
    Architecture: x86-64

Operating System 那一行是發行版名稱與版本,Kernel 那一行是 uname -s 和 uname -r 合起來的值。在 AlmaLinux 伺服器上,用 grep 只挑出需要的行,一次確認核心和發行版。

hostnamectl | grep -E 'Operating System|Kernel|Architecture'
Operating System: AlmaLinux 9.8 (Olive Jaguar)
          Kernel: Linux 5.14.0-687.10.1.el9_8.x86_64
    Architecture: x86-64

5️⃣ 查看 Linux 發行版版本

發行版的名稱和版本在 /etc/os-release 檔案中。os-release 說明文件把這個檔案說明為存放作業系統識別資訊的檔案。內容像 shell 變數一樣,以 名稱=值 的形式一行一行寫著。

下方是 Debian 12 伺服器的 os-release。

cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

PRETTY_NAME 是給人閱讀的發行版名稱,VERSION_ID 是版本號。像 AlmaLinux 伺服器的 os-release 這種行數多的檔案,用 grep 只挑出需要的行。

grep -E '^(NAME|VERSION|ID|VERSION_ID|PRETTY_NAME)=' /etc/os-release
NAME="AlmaLinux"
VERSION="9.8 (Olive Jaguar)"
ID="almalinux"
VERSION_ID="9.8"
PRETTY_NAME="AlmaLinux 9.8 (Olive Jaguar)"

AlmaLinux 這類 RHEL 系列,還會在 /etc 中放一行寫出發行版名稱和版本的 release 檔案。AlmaLinux 伺服器上有四個 release 檔案,redhat-release 和 system-release 是連到 almalinux-release 的連結。

ls -l /etc/*-release
-rw-r--r--  1 root root 37 May 19 07:33 /etc/almalinux-release
lrwxrwxrwx. 1 root root 21 May 19 07:33 /etc/os-release -> ../usr/lib/os-release
lrwxrwxrwx  1 root root 17 May 19 07:33 /etc/redhat-release -> almalinux-release
lrwxrwxrwx  1 root root 17 May 19 07:33 /etc/system-release -> almalinux-release

所以 almalinux-release、redhat-release、system-release 不論讀哪一個檔案,都會出現同樣的一行。

cat /etc/redhat-release
AlmaLinux release 9.8 (Olive Jaguar)

Debian 12 伺服器的 os-release 中,VERSION_ID 只寫到 12。12.15 這樣的細部版本在 /etc/debian_version 中。

cat /etc/debian_version
12.15

lsb_release -a 也會輸出發行版名稱和版本。在 Debian 12 伺服器上輸出了四行。

lsb_release -a
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm

AlmaLinux 伺服器沒有安裝 lsb_release,所以同一個指令以 [command not found] 錯誤結束。

lsb_release -a
bash: lsb_release: command not found

這時不必另外安裝套件,讀取 /etc/os-release 就能確認同樣的資訊。

6️⃣ 已安裝的 Linux 核心清單與是否需要重新開機

uname -r 只輸出目前執行中的一個核心,所以伺服器上安裝的所有核心要從套件清單查看。在 RHEL 系列中,rpm -q --last kernel 會連安裝日期一起輸出。

rpm -q --last kernel
kernel-5.14.0-687.10.1.el9_8.x86_64           Thu Jun  4 11:47:44 2026
kernel-5.14.0-427.13.1.el9_4.x86_64           Wed Jun 12 11:44:52 2024
kernel-5.14.0-362.13.1.el9_3.x86_64           Mon Jan 15 12:30:31 2024

AlmaLinux 伺服器上的三個核心是在 2024 年 1 月到 2026 年 6 月之間安裝的,全部以 5.14.0 開頭,只有後面的發行編號和 el9_3、el9_4、el9_8 不同。所以在 AlmaLinux 9 上,要比較到連字號後面的發行編號,才能判斷核心是不是最新的。

Debian 系列用 dpkg 查看核心套件清單。

dpkg -l 'linux-image*' | grep '^ii'
ii  linux-image-6.1.0-50-amd64          6.1.176-1    amd64        Linux 6.1 for 64-bit PCs (signed)
ii  linux-image-6.1.0-53-amd64          6.1.187-1    amd64        Linux 6.1 for 64-bit PCs (signed)
ii  linux-image-amd64                   6.1.187-1    amd64        Linux for 64-bit PCs (meta-package)

第三欄才是實際的修補版本。核心套件從 6.1.176 升到 6.1.187 的期間,套件名稱中的 6.1.0 沒有變,只有中間的編號從 50 變成 53。

就算安裝了新核心,重新開機之前舊核心仍會繼續執行。在 RHEL 系列中,下次開機要使用的核心用 grubby --default-kernel 查看。

grubby --default-kernel
/boot/vmlinuz-5.14.0-687.10.1.el9_8.x86_64

這台伺服器下次開機的核心和目前執行中的核心,都是同一個 5.14.0-687.10.1.el9_8。yum-utils 套件中的 needs-restarting -r 會確認開機後主要函式庫或服務是否有更新,並輸出是否需要重新開機。

needs-restarting -r
No core libraries or services have been updated since boot-up.
Reboot should not be necessary.

[Reboot should not be necessary] 表示不需要重新開機。

如果開機後 kernel、glibc 或 systemd 這類主要套件有更新,套件名稱會出現在 [Core libraries or services have been updated since boot-up:] 下方,再往下會加上 [Reboot is required to fully utilize these updates.]。這時結束代碼是 1,所以請排定時間重新開機。

🔢 FAQ & 推薦內容

執行 getconf LONG_BIT 會輸出 64 或 32。AlmaLinux 伺服器上輸出 64,uname -m 的 x86_64 也表示 64 位元的 x86 架構。

像 [uname -r | cut -d- -f1] 這樣只切出第一個連字號前面的部分,AlmaLinux 伺服器輸出 5.14.0,Debian 12 伺服器輸出 6.1.0。兩者都是基礎版本,所以要比較到修補層級時,請使用完整的 uname -r 或核心套件版本。

uname、hostnamectl 和 /etc/os-release 用一般帳號也能查看。在 Debian 12 伺服器上,用一般帳號執行了所有核心與發行版版本指令,沒有出現權限錯誤。

ℹ️ 聯盟行銷說明
本站內容包含聯盟行銷連結。訪客透過這些連結購買商品或服務時,本站會從賣家獲得佣金。在這個過程中,購買者支付的金額(遇到活動折扣時金額會降低↓)並不會因此提高。刊登的價格、折扣與庫存資訊以撰寫當時為準,可能與實際情況不同,購買前請向賣家做最後確認。商品的挑選與評價依本站自訂的標準撰寫,是否支付佣金不會影響介紹順序或評價內容。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Prove your humanity: 10   +   1   =