查系统版本需区分发行版和内核:发行版用cat /etc/os-release(首选)、lsb_release或/etc/redhat-release等;内核版本用uname -r或cat /proc/version。

查系统版本,核心是分清“发行版”和“内核”——前者是你装的 Ubuntu、CentOS 这类完整操作系统,后者是底层运行的 Linux kernel。混淆两者容易误判环境,尤其在部署或排障时。
看发行版:优先用 /etc/os-release
这是目前最通用、最可靠的方式,几乎所有现代发行版(Ubuntu 16.04+、CentOS 7+、Debian 9+、Fedora、Arch 等)都支持,内容结构化、易解析,也适合写脚本自动读取。
执行:
cat /etc/os-release
输出中重点关注这几项:
- NAME= —— 发行版名称,如 "Ubuntu" 或 "CentOS Linux"
- VERSION= —— 版本描述,如 "22.04.4 LTS (Jammy Jellyfish)"
- VERSION_ID= —— 精确版本号,如 "22.04",适合条件判断
- PRETTY_NAME= —— 一行汇总,最直观,如 "Ubuntu 22.04.4 LTS"
看发行版:备选命令 lsb_release
lsb_release 是老牌工具,语义清晰,但不是所有系统默认安装(尤其最小化安装或容器镜像里常缺失)。
常用组合:
- lsb_release -d → 只显示描述,简洁明了
- lsb_release -a → 全量信息,含代号(codename)、发行商等
若提示 command not found,需先安装:
- Debian/Ubuntu:sudo apt install lsb-release
- RHEL/CentOS/Fedora:sudo dnf install redhat-lsb-core 或 yum install redhat-lsb-core
看发行版:按发行系别查 release 文件
适合快速确认,无需额外依赖,但兼容性有限,只对特定家族有效。
- RHEL/CentOS/AlmaLinux/Rocky: cat /etc/redhat-release 或 cat /etc/centos-release
- Debian/Ubuntu: cat /etc/debian_version(只给版本号),或 cat /etc/os-release 更全
- 旧版 Debian/Ubuntu: cat /etc/issue(可能含登录提示文字,需注意过滤)
看内核版本:用 uname 或 /proc/version
注意:这不等于系统版本!比如 CentOS 7 可能跑 5.15 内核,Ubuntu 20.04 也可能升级到 6.x。仅用于确认底层 kernel。
- uname -r → 输出精简内核版本,如 6.8.0-55-generic
- uname -a → 包含架构、主机名、编译时间等,信息更全但略冗长
- cat /proc/version → 显示内核版本 + GCC 编译器版本 + 编译主机,适合深度排查
系统信息快速排查建议
遇到版本相关问题(如软件不兼容、仓库配置失败、驱动异常),建议按顺序检查:
- 先运行 cat /etc/os-release,确认发行版及主版本号
- 再执行 uname -r,确认当前内核是否为预期版本(尤其升级后未重启)
- 若提示命令不存在(如 lsb_release),不要硬装,直接换用 /etc/os-release 或对应 release 文件
- 容器环境优先看 /etc/os-release;嵌入式或极简系统可试 /proc/version + /etc/issue










