Linux 查看核心版本指令:uname、hostnamectl 與發行版版本
用一行輸出伺服器上執行中核心版本號的 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 -r5.14.0-687.10.1.el9_8.x86_64在 Debian 12 伺服器上,同一個指令輸出了不同樣子的版本號。這是因為每個發行版編版本號的方式不同。
uname -r6.1.0-53-amd64-a 會把核心名稱、主機名稱、核心版本、建置資訊、架構到作業系統,全部輸出在一行。
uname -aLinux 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 -srmLinux 5.14.0-687.10.1.el9_8.x86_64 x86_64🔲 Linux 核心版本查看模擬器
在下方模擬器中,你可以自己輸入 uname、hostnamectl、讀取版本檔案的 cat,以及查看核心清單的 rpm 指令,確認結果。
2️⃣ uname 指令選項
uname 每個選項輸出一項系統資訊。不加選項執行時,和 -s 一樣只顯示核心名稱 Linux。
| 選項 | 輸出的資訊 | AlmaLinux 9.8 伺服器輸出 | Debian 12 伺服器 -a 輸出 | |
|---|---|---|---|---|
| -s | 核心名稱 | Linux | Linux | |
| -n | 主機名稱 | server1 | server2 | |
| -r | 核心發行版本(版本號) | 5.14.0-687.10.1.el9_8.x86_64 | 6.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_64 | x86_64 | |
| -p | 處理器類型 | x86_64 | -a 輸出中沒有 | |
| -i | 硬體平台 | x86_64 | -a 輸出中沒有 | |
| -o | 作業系統 | GNU/Linux | GNU/Linux | |
| -a | 以上所有項目合成一行 | 從 -s 到 -o 依序 | 除了 -p、-i 之外依序輸出其餘項目 |
-v 輸出核心的建置資訊。結尾的日期是核心建置的時間,所以和安裝到伺服器的日期不同。在 AlmaLinux 伺服器上,建置時間是 6 月 2 日,核心套件安裝的日期是 6 月 4 日。
-p 和 -i 是說明中標為 non-portable 的選項。在無法得知值的系統上,-a 輸出中也會省略它們。
3️⃣ Linux 核心版本號的結構
uname -r 輸出的版本號,前段是基礎核心版本,連字號後面是發行版加上的編號。
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/versionLinux 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/osrelease5.14.0-687.10.1.el9_8.x86_64hostnamectl 會在一個畫面中輸出主機名稱,以及作業系統名稱、核心版本和架構。下方是在 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-64Operating 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-645️⃣ 查看 Linux 發行版版本
發行版的名稱和版本在 /etc/os-release 檔案中。os-release 說明文件把這個檔案說明為存放作業系統識別資訊的檔案。內容像 shell 變數一樣,以 名稱=值 的形式一行一行寫著。
下方是 Debian 12 伺服器的 os-release。
cat /etc/os-releasePRETTY_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-releaseNAME="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-releaseAlmaLinux release 9.8 (Olive Jaguar)Debian 12 伺服器的 os-release 中,VERSION_ID 只寫到 12。12.15 這樣的細部版本在 /etc/debian_version 中。
cat /etc/debian_version12.15lsb_release -a 也會輸出發行版名稱和版本。在 Debian 12 伺服器上輸出了四行。
lsb_release -aDistributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookwormAlmaLinux 伺服器沒有安裝 lsb_release,所以同一個指令以 [command not found] 錯誤結束。
lsb_release -abash: lsb_release: command not found這時不必另外安裝套件,讀取 /etc/os-release 就能確認同樣的資訊。
6️⃣ 已安裝的 Linux 核心清單與是否需要重新開機
uname -r 只輸出目前執行中的一個核心,所以伺服器上安裝的所有核心要從套件清單查看。在 RHEL 系列中,rpm -q --last kernel 會連安裝日期一起輸出。
rpm -q --last kernelkernel-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 2024AlmaLinux 伺服器上的三個核心是在 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 -rNo 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 & 推薦內容
ℹ️ 聯盟行銷說明
本站內容包含聯盟行銷連結。訪客透過這些連結購買商品或服務時,本站會從賣家獲得佣金。在這個過程中,購買者支付的金額(遇到活動折扣時金額會降低↓)並不會因此提高。刊登的價格、折扣與庫存資訊以撰寫當時為準,可能與實際情況不同,購買前請向賣家做最後確認。商品的挑選與評價依本站自訂的標準撰寫,是否支付佣金不會影響介紹順序或評價內容。