马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
排查 Linux 问题时,「内核版本」「发行版本」「系统版本」这三个词经常混着用,但实际上它们看的是三件不同的事:内核管的是硬件与资源调度,发行版管的是厂商打包,系统版本是整机的整体信息。分不清就会在查错方向上浪费时间——比如想看 CentOS 是几号,却 uname -r 打了个 3.10 出来。
一、三个概念分别是什么
1.1 内核版本(Kernel Version)
内核是操作系统的核心,负责硬件管理、资源分配、系统安全等。版本号形如 5.15.0-56-generic。
uname -r # 只看内核版本
uname -a # 看详细内核信息
1.2 发行版本(Distribution Version)
指 Linux 发行版的版本信息,例如 Ubuntu 22.04 LTS 或 CentOS 7.9。通用的查看方式是:
cat /etc/os-release # 全系通用
lsb_release -a # 需要装 lsb_release 工具
只显示版本号时,不同系的手感不一样:
cat /etc/redhat-release # RHEL / CentOS 系
cat /etc/debian_version # Debian 系
1.3 系统版本(System Version)
指整个操作系统(内核 + 发行版 + 软件包)的整体版本信息,例如 Linux version 5.15.0 (Ubuntu)。看主机整体信息用:
hostnamectl # 内核、架构、OS 一把抓
dmesg | grep "Linux version" # 从内核引导日志 里看
二、常用命令逐条实测(CentOS 7 环境)
2.1 less /proc/version
less /proc/version
输出示例:
Linux version 3.10.0-1160.el7.x86_64 ([email protected])
(gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)) #1 SMP Mon Oct 19 16:18:59 UTC 2020
其中 el7 说明内核属于 el 分支,数字 7 代表 CentOS 7。
2.2 uname -a
uname -a
输出:Linux centos.reset3.10.0-1160.el7.x86_64 #1 SMP ... x86_64 x86_64 x86_64 GNU/Linux,同样靠 el7 判断发行系别。
2.3 lsb_release -a
第一次跑会报 -bash: lsb_release: 未找到命令,装一下即可(CentOS 系用 yum):
yum install -y redhat-lsb
lsb_release -a
输出:
Distributor ID: CentOS
Description: CentOS Linux release 7.9.2009 (Core)
Release: 7.9.2009
Codename: Core
2.4 less /etc/*-release
less /etc/*-release
CentOS 系一般会同时有 redhat-release、os-release、lsb-release、system-release,但不是每台机器都齐全。less 里 n 翻下一个文件、p 翻上一个、q 退出。
2.5 cat /etc/issue 与 cat /proc/version
cat /etc/issue # 发行版本信息
cat /proc/version # 内核版本
三、三张表记住常用命令
| 命令 | 看的是 | 典型输出/说明 |
uname -r | 内核版本 | 5.15.0-56-generic |
uname -a | 内核 + 主机名 + 架构 | 含 el7 可判发行系 |
cat /etc/os-release | 发行版本(通用) | NAME / VERSION_ID 全系都在 |
lsb_release -a | 发行版本(需装工具) | Distributor ID / Release |
cat /etc/redhat-release | RHEL/CentOS 版本号 | CentOS Linux release 7.9.2009 |
cat /etc/debian_version | Debian 版本号 | 纯数字 |
hostnamectl | 整机信息 | 内核、架构、OS 都列出 |
dmesg | grep "Linux version" | 引导时内核版本 | 可看出引导用的哪个内核 |
四、排障时怎么用
- 要判断能不能装某个软件:看内核版本
uname -r 与glibc 版本,软件对内核有硬性要求。
- 要判断软件源放哪:看发行版本
cat /etc/os-release,Ubuntu 用 apt、CentOS 用 yum,源地址完全不同。
- 要写巡检脚本:用
hostnamectl 或 /etc/os-release,输出稳定、好解析,别依赖 uname -a 的字符串。
- 多系统共存机器:GRUB 里可能有多个内核,用
dmesg | grep "Linux version" 确认本次实际引导的是哪一个。
结论
一句话区分:内核版本回答「跑的是什么内核」,发行版本回答「装的是哪家系统、哪个号」,系统版本回答「这台机器整体是什么」。日常记忆两个就够——查内核用 uname -r,查发行版用 cat /etc/os-release,再看一眼 hostnamectl,这台机器基本就摸清了。
qidao123.com企服评测-应用市场 编辑提示 |