详情

首页手游攻略 Linux 系统版本怎么查?发行版、内核与架构查询方法

Linux 系统版本怎么查?发行版、内核与架构查询方法

佚名 2026-10-31 13:10:01

查询 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 显示的还是旧版本?

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”更便于定位。发行版关系到仓库与依赖,内核关系到底层能力,查询时应分别记录。

点击查看更多
推荐专题
热门阅读