在阿里云 ECS 实例上查看操作系统版本,其实跟你在本地虚拟机或者物理机上操作是一模一样的。核心逻辑就是读取系统内核信息和发行版标识文件。
针对 CentOS 和 Ubuntu 这两个最常见的 Linux 发行版,命令略有不同,但都很简单。下面直接给干货,分场景说明。
一、 通用方法(推荐)
无论什么 Linux 发行版,以下两个命令通常都能最快给出答案:
1. lsb_release -a
这是最标准的查看 LSB(Linux Standard Base)信息的命令。
sudo lsb_release -a
输出示例(Ubuntu):
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
输出示例(CentOS 7/8):
Distributor ID: CentOS
Description: CentOS Linux release 7.9.2009 (Core)
Release: 7.9.2009
Codename: Core
注意:如果提示
command not found,说明系统没装这个工具。
- Ubuntu 默认自带。
- CentOS 7/8 可能没预装,可以用
yum install redhat-lsb-core(CentOS 7) 或dnf install redhat-lsb(CentOS 8+) 安装后重试。
2. cat /etc/os-release
这是目前更现代、更通用的方式,几乎所有基于 systemd 的 Linux 发行版都支持。
cat /etc/os-release
你会看到类似这样的内容:
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 22.04.3 LTS"
VERSION_ID="22.04"
对于 CentOS/RHEL 系:
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
PRETTY_NAME="CentOS Linux 7 (Core)"
VERSION_ID="7"
二、 针对特定系统的快速判断
如果你不想记太多命令,可以根据你的直觉选择:
✅ 如果是 Ubuntu / Debian 系:
- 看版本:
cat /etc/issue或cat /etc/lsb-release - 看内核:
uname -r(比如5.15.0-xx-generic)
✅ 如果是 CentOS / RHEL / Alibaba Cloud Linux 系:
- 看完整版本:
cat /etc/redhat-release- 输出如:
CentOS Linux release 7.9.2009 (Core)或Alibaba Cloud Linux 3 (Soaring Falcon)
- 输出如:
- 看大版本:
rpm -q centos-release(仅适用于 CentOS) - 看内核:
uname -r
三、 为什么要在阿里云上特别关注这个?
作为云用户,查版本不仅仅是为了“知道”,更是为了兼容性和安全。
-
EPEL 源配置不同:
- CentOS 7 需要配
epel-release,而 CentOS 8 已转向 AppStream,命令从yum变成了dnf。 - Ubuntu 20.04 和 22.04 的软件包管理虽都是
apt,但某些第三方库(如 Docker、Nginx)的官方源路径可能因版本而异。
- CentOS 7 需要配
-
安全补丁策略:
- CentOS 7 已于 2024 年 6 月结束主流支持(EOL),阿里云会提供迁移建议。
- 阿里云自有 OS “Alibaba Cloud Linux” 是基于 CentOS 深度优化的,其兼容模式可能与原生 CentOS 有细微差别,务必确认你用的是原生 CentOS 还是阿里定制版。
-
内核版本与驱动:
- 使用
uname -r查看内核时,注意是否带有-alinux后缀(如5.10.0-xxx-alinux),这代表你使用的是阿里云优化内核,能更好地配合弹性网卡、神龙架构等底层特性。
- 使用
四、 避坑指南
- ❌ 不要只看
hostnamectl:它显示的是主机名和内核信息,不一定包含详细的发行版版本号。 - ❌ 不要依赖
cat /etc/redhat-release来判断 Ubuntu:Ubuntu 没有这个文件,会报错。 - ✅ 建议组合使用:先用
cat /etc/os-release看发行版名称和版本 ID,再用uname -r看内核版本,两者结合才能完整了解系统状态。
总结
| 系统类型 | 最推荐命令 | 备用命令 |
|---|---|---|
| Ubuntu | cat /etc/os-release |
lsb_release -a |
| CentOS 7/8 | cat /etc/redhat-release |
cat /etc/os-release |
| Alibaba Cloud Linux | cat /etc/os-release |
uname -v |
实际工作中,我习惯直接敲 cat /etc/os-release,一行命令搞定,信息清晰,兼容性好。
云技术博客