萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

如何查看 Linux 版本資訊:核心版本、發行版本、LSB、/etc/os-release 完整指南

查看核心版本

命令輸出範例說明
uname -r6.6.15-arch1-1僅核心釋出版本 (最常用)
uname -aLinux host 6.6.15-arch1-1 #1 SMP PREEMPT_DYNAMIC x86_64 GNU/Linux完整核心資訊:主機名、版本、編譯時間、架構
cat /proc/versionLinux version 6.6.15-arch1-1 (linux@archlinux) (gcc 13.2.1, GNU ld 2.42.0) #1 SMP PREEMPT_DYNAMIC包含編譯器、建構用戶、編譯旗標
dmesg | grep "Linux version"同 /proc/version開機核心訊息
hostnamectlKernel: Linux 6.6.15-arch1-1systemd 系統整合查詢,含架構、硬體廠商

查看發行版版本 (Distribution Version)

通用標準方式 (所有 systemd 發行版)

cat /etc/os-release
# 輸出範例 (Ubuntu 24.04)
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble

腳本解析:source /etc/os-release && echo $VERSION_ID 或 . /etc/os-release; echo $PRETTY_NAME。

lsb_release 命令 (需安裝 lsb-release 套件)

lsb_release -a
# Distributor ID: Ubuntu
# Description:    Ubuntu 24.04 LTS
# Release:        24.04
# Codename:       noble

lsb_release -d    # 僅 Description
lsb_release -r    # 僅 Release
lsb_release -c    # 僅 Codename
lsb_release -i    # 僅 Distributor ID
lsb_release -s    # 短格式 (腳本友好)

發行版特定文件 (歷史相容)

文件適用發行版範例內容
/etc/redhat-releaseRHEL, CentOS, Rocky, Alma, FedoraRed Hat Enterprise Linux release 9.4 (Plow)
/etc/centos-releaseCentOSCentOS Linux release 7.9.2009 (Core)
/etc/fedora-releaseFedoraFedora release 39 (Thirty Nine)
/etc/debian_versionDebian, Ubuntu, 衍生版12.5 或 noble/sid
/etc/arch-releaseArch, 衍生版空文件 (存在即代表 Arch)
/etc/SuSE-releaseopenSUSE, SLES (舊版)多行版本資訊
/etc/os-release所有 systemd 發行版 (現代標準)鍵值對格式,機器可讀
/etc/issue登入前顯示訊息 (可自訂)Ubuntu 24.04 LTS \n \l
/etc/issue.netSSH 登入前横幅同上

RPM 套件查詢 (RHEL/Fedora/SUSE)

rpm -q redhat-release        # redhat-release-9.4-1.el9.noarch
rpm -q centos-release        # centos-release-7-9.2009.1.el7.centos.noarch
rpm -q --queryformat '%{VERSION}-%{RELEASE}\n' redhat-release

綜合查詢腳本 (一鍵輸出所有版本資訊)

#!/bin/bash
# version-info.sh
echo "=== Kernel ==="
uname -srmo
echo
echo "=== OS Release (/etc/os-release) ==="
cat /etc/os-release
echo
echo "=== LSB ==="
command -v lsb_release >/dev/null && lsb_release -a || echo "lsb_release not installed"
echo
echo "=== Distro Specific Files ==="
for f in /etc/*-release /etc/*_version /etc/issue; do
    [ -f "$f" ] && echo "--- $f ---" && cat "$f"
done
echo
echo "=== Package Manager ==="
command -v apt >/dev/null && echo "APT (Debian/Ubuntu)"
command -v dnf >/dev/null && echo "DNF (RHEL/Fedora)"
command -v pacman >/dev/null && echo "Pacman (Arch)"
command -v zypper >/dev/null && echo "Zypper (SUSE)"
command -v apk >/dev/null && echo "APK (Alpine)"

容器/虛擬機中查詢宿主版本

  • 容器共用宿主核心:uname -r 顯示宿主核心版本。
  • 容器發行版:cat /etc/os-release 顯示容器映像基礎發行版 (如 FROM ubuntu:24.04)。
  • 虛擬機:獨立核心,uname -r 為客體核心版本。

圖形介面查看

  • GNOME:設定 → 關於 / gnome-control-center info
  • KDE:系統設定 → 關於系統 / kinfocenter
  • 通用:hardinfo, inxi -F, neofetch, fastfetch, screenfetch (裝飾性輸出)。

為什麼要區分核心版本與發行版版本?

  • 核心版本決定:硬體支援、文件系統特性、網路協議、安全補丁、系統調用介面。
  • 發行版版本決定:用戶空間軟體版本 (glibc, systemd, GCC, Python, 應用軟體)、套件管理器、生命週期 (LTS/滾動)、安全更新政策、商業支援合約。
  • 例:RHEL 9.4 使用核心 5.14.0 (回溯大量新特性),Fedora 39 使用核心 6.5,Ubuntu 24.04 使用核心 6.8 — 同核心版本不代表同發行版,反之亦然。

善用 /etc/os-release 作為機器可讀標準來源,uname -r 確認核心版本,結合套件管理器查詢具體軟體版本,即可精準掌握系統身份。

copyright © 萬盛學電腦網 all rights reserved