Muse 邀请码兑换|操作说明
2026-11-04 3468903
2026-10-31 0
查询 Linux 环境时,“CentOS 7.4”和“3.10.0-693.el7.x86_64”都可能出现在结果里。前者说的是发行版,后者说的是内核,两个编号不能混为一谈。
查系统名称和发行版版本,用 cat /etc/os-release;查正在运行的内核,用 uname -r。报故障、找安装包或核对兼容性时,最好把两项一起记录。
在终端执行:
cat /etc/os-release
大多数常见 Linux 发行版都提供这个文件。比如,CentOS 7 可能显示:
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
PRETTY_NAME 是便于阅读的名称,ID 用来区分发行版,VERSION_ID 是它声明的版本。不要因为文件里只有一个 7,就认为机器没有更具体的小版本信息。
在 CentOS 和 RHEL 上,再运行:
cat /etc/redhat-release
rpm -q centos-release
第一条可能返回 CentOS Linux release 7.4.1708 (Core),第二条查询安装的 CentOS 发行信息包。如果机器是 RHEL,第二条提示没有安装该包很正常,仍可用第一条和 os-release 判断。
这些内容说明系统的发行身份。人为修改版本文件不会完成升级;混装过系统包的机器,还要检查实际软件包,不能只信一行名称。
uname -r
比如输出:
3.10.0-693.el7.x86_64
这串字符属于内核。3.10.0 是其基础版本部分,后面还有发行包构建信息,el7 表示 Enterprise Linux 7 相关构建,x86_64 表示该内核的架构。
它不等于“CentOS 3.10”,也不能单凭它分辨 CentOS 和 RHEL。同一家族的发行版可能使用非常接近的编号,机器也可能装过其他来源的内核。
再补两条常用命令:
uname -m
uname -a
前者查看机器架构,后者汇总内核等信息。下载软件包时,x86_64、aarch64 等架构必须对得上,不能只看软件名称和版本号。
uname -r 查询的是当前正在运行的内核。新内核文件装进磁盘后,必须实际启动进入它,输出才会改变。
在 CentOS 7 上可以同时查看:
rpm -q kernel
uname -r
第一条可能列出多个已安装的内核,第二条只显示当前用的那个。如果更新后已经重启,仍然进入旧内核,还要核对启动菜单和默认启动项。
不要为了让两条输出“看起来一致”就删除旧内核。新内核能正常启动、网卡和磁盘驱动正常后,再按保留策略处理。
| 信息 | 查询方法 | 常见用途 |
|---|---|---|
| 发行版名称与版本 | cat /etc/os-release | 确认 CentOS、Ubuntu、RHEL 等系统 |
| CentOS/RHEL 具体版本 | cat /etc/redhat-release | 核对 7.4、7.9 等环境 |
| 当前内核 | uname -r | 排查驱动、内核模块和内核相关兼容问题 |
| 机器架构 | uname -m | 选择对应架构的软件包 |
| 某个程序版本 | rpm -q 软件包名 或程序自己的版本命令 | 核对软件依赖与修复情况 |
hostnamectl 也能汇总系统和内核信息,但在某些容器、精简环境里未必可用。只为查版本,没有必要先安装一批工具,优先读版本文件、运行 uname 即可。
普通 Linux 容器使用宿主机的内核。容器中的 /etc/os-release 描述镜像里的用户空间,而 uname -r 一般反映宿主机提供的内核。
所以,容器里显示 Ubuntu,但内核编号看起来像另一个发行版,并不奇怪。定位容器故障时,应分别记录镜像名称及标签、容器内发行版、宿主机系统和内核。
运行环境:虚拟机
发行版:CentOS Linux 7.4.1708
当前内核:3.10.0-693.el7.x86_64
架构:x86_64
相关软件:填写程序名称及完整版本
报障时把发行版、当前内核、架构和相关软件完整版本一起提供,比只报一个“Linux 7.4”更便于定位。发行版关系到仓库与依赖,内核关系到底层能力,查询时应分别记录。