在阿里云 ECS(云服务器)上查看操作系统版本,其实跟在你本地 Linux 机器上操作没什么区别。核心逻辑是一样的:Linux 发行版的版本信息是存储在系统文件里的,跟云厂商无关。
不过,考虑到你可能通过 SSH 连接,或者习惯用控制台,我整理几种最常用、最靠谱的方法,按推荐程度排序。
一、CentOS 系列(包括 CentOS 7, CentOS Stream, Rocky Linux, AlmaLinux 等)
CentOS 家族通常使用 yum 或 rpm 包管理,版本信息主要存放在 /etc/centos-release 或 /etc/os-release。
1. 最快最直观:cat /etc/redhat-release
这是最经典的做法,因为 CentOS 是基于 Red Hat 的。
cat /etc/redhat-release
输出示例:
CentOS Linux release 7.9.2009 (Core)
或者:
CentOS Stream release 8
注意:如果这个文件不存在(比如某些精简版),可以用下面的方法。
2. 最标准通用:cat /etc/os-release
这是目前 Linux 发行版通用的标准文件,无论 CentOS、Ubuntu 还是 Debian 都有。
cat /etc/os-release
输出示例:
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
...
PRETTY_NAME="CentOS Linux 7 (Core)"
看 VERSION 或 PRETTY_NAME 字段即可。
3. 如果你装了 hostnamectl(systemd 环境)
很多现代 CentOS 版本默认安装了 systemd,可以用这个命令直接看到内核和 OS 版本。
hostnamectl
输出示例:
Static hostname: iZuf6xxxxxxxxx
Icon name: computer-vm
Chassis: vm
Machine ID: xxxxxxxxxx
Boot ID: xxxxxxxxxx
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64
二、Ubuntu 系列(包括 Ubuntu 18.04, 20.04, 22.04 等)
Ubuntu 基于 Debian,版本信息主要在 /etc/os-release 和 /etc/lsb-release。
1. 最推荐:cat /etc/os-release
同上,这是最稳妥的方式。
cat /etc/os-release
输出示例:
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
...
PRETTY_NAME="Ubuntu 20.04.5 LTS"
重点看 VERSION 和 PRETTY_NAME。
2. 传统方式:lsb_release -a
这是专门用于显示 LSB(Linux Standard Base)信息的工具,Ubuntu 默认自带。
lsb_release -a
输出示例:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal
注意:如果你的系统是极简安装,可能没装 lsb-release 包,这时候会报错“command not found”。
3. 简单粗暴:cat /etc/issue
这个文件通常在登录提示符前显示,包含版本信息。
cat /etc/issue
输出示例:
Ubuntu 20.04.5 LTS n l
三、阿里云控制台快速查看(无需 SSH)
如果你还没连上服务器,或者想批量查看,可以直接在阿里云控制台看:
- 登录 阿里云 ECS 控制台。
- 找到你的实例列表。
- 点击实例 ID 进入详情页。
- 在左侧菜单或基础信息区域,找到 “镜像” 或 “操作系统” 字段。
- 这里会明确写着:“CentOS 7.9 64位” 或 “Ubuntu 22.04 LTS 64位”。
- 注意:这里显示的是你创建实例时选择的镜像版本,不一定代表当前运行系统的补丁级别,但足以判断主版本。
四、避坑指南 & 常见问题
-
为什么
cat /etc/centos-release找不到?- 你可能用的是 Rocky Linux、AlmaLinux 或 OpenCloudOS(阿里开源的 CentOS 替代品)。这些系统虽然兼容 CentOS,但文件名不同。此时请用
cat /etc/os-release,它一定能工作。
- 你可能用的是 Rocky Linux、AlmaLinux 或 OpenCloudOS(阿里开源的 CentOS 替代品)。这些系统虽然兼容 CentOS,但文件名不同。此时请用
-
权限问题:
- 上述命令大部分只需要普通用户权限即可读取。但如果某些系统配置了严格权限,可能需要加
sudo:sudo cat /etc/os-release
- 上述命令大部分只需要普通用户权限即可读取。但如果某些系统配置了严格权限,可能需要加
-
内核版本 vs 发行版版本:
- 很多人混淆这两个概念。
- 发行版版本:如 CentOS 7.9、Ubuntu 22.04,决定软件包兼容性、特性支持周期。
- 内核版本:如
3.10.0-1160或5.15.0-xx,由uname -r查看。 - 阿里云 ECS 的内核通常是定制过的(尤其是 ARM 架构或高安全场景),所以
uname -r的结果可能和官方公开版本略有差异,但这不影响你判断“我是 CentOS 7 还是 Ubuntu 20.04”。
- 很多人混淆这两个概念。
-
远程连接工具建议:
- 推荐使用 Xshell、FinalShell 或 VS Code 的 Remote-SSH 插件,比 Putty 更友好,能自动识别编码,避免中文乱码。
总结
| 操作系统 | 推荐命令 | 备选命令 |
|---|---|---|
| CentOS / RHEL / Rocky / Alma | cat /etc/redhat-release |
cat /etc/os-release |
| Ubuntu / Debian | cat /etc/os-release |
lsb_release -a |
一句话口诀:
不管什么 Linux,先敲 cat /etc/os-release,99% 的情况都能一眼看出版本。
云技术博客