努力
加油

如何在阿里云ECS中查看CentOS或Ubuntu系统版本信息?

在阿里云 ECS 实例中查看操作系统版本,其实跟你在本地虚拟机或物理机上操作没有任何区别。核心逻辑是读取系统内部的发行版标识文件。

既然你提到了 CentOS 和 Ubuntu,这两者的命令略有不同,下面直接上干货,分情况给方案。

一、 CentOS 系列(包括 CentOS 7/8, Alibaba Cloud Linux)

CentOS 系主要依赖 /etc/os-release 或者 /etc/redhat-release 文件。

1. 最通用、最推荐的方法:

cat /etc/os-release

输出里看 PRETTY_NAME 字段,比如:

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
...
PRETTY_NAME="CentOS Linux 7 (Core)"

2. 快速查看主版本号:

cat /etc/redhat-release

输出示例:CentOS Linux release 7.9.2009 (Core)

3. 如果你用的是较新的 CentOS Stream 或 AlmaLinux/Rocky:
同样适用 cat /etc/os-release,这是目前 RHEL 系的标准做法。


二、 Ubuntu 系列

Ubuntu 系主要看 /etc/os-release 和 /etc/lsb-release。

1. 最标准方法:

cat /etc/os-release

重点看 PRETTY_NAME:

NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"

2. 传统简略方法:

cat /etc/lsb-release

输出示例:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"

3. 只想知道内核版本(不是系统版本,但经常混淆):

uname -r

注意:uname -r 显示的是 Linux Kernel 版本(如 5.4.0-xxx-generic),而不是 Ubuntu/CentOS 的发行版版本。别搞混了。


三、 阿里云 ECS 场景下的特殊注意事项

作为云用户,有几个点需要额外留意,避免踩坑:

1. 确认是不是“阿里云自定义镜像”

很多用户买的 ECS 实例,底层其实是 Alibaba Cloud Linux(基于 CentOS 兼容开发)。它对外宣称兼容 CentOS,但内部标识可能略有不同。

  • 如果 cat /etc/os-release 显示 NAME="Alibaba Cloud Linux",那它就是阿里的定制系统,虽然包管理器还是 yum/dnf,行为接近 CentOS,但严格来说不是 CentOS。
  • 对于业务兼容性来说,把它当 CentOS 用没问题,但在做某些强依赖 CentOS 官方源或认证的脚本时,要心里有数。

2. 权限问题

以上所有命令都需要 root 权限 或具有 sudo 权限的用户执行。

  • 如果你是普通用户,前面加 sudo:
    sudo cat /etc/os-release
  • 如果你是通过 SSH 登录,确保你用的是 root 账号,或者当前用户已在 sudoers 列表中。

3. 图形界面 vs 命令行

ECS 通常是无头服务器(Headless),没有 GUI。所以不要试图去“设置 -> 关于”里找,那是桌面环境的事。云服务器一律通过 SSH 终端 操作。

4. 批量查询多台 ECS?

如果你管理几十上百台 ECS,手动 SSH 进去查太慢。可以用阿里云 CLI 或 SDK,结合 ssh 脚本批量执行:

# 伪代码示例,需替换为实际 IP 和密钥
for ip in $(cat ip_list.txt); do
  echo "=== $ip ==="
  ssh -i your_key.pem user@$ip "cat /etc/os-release | grep PRETTY_NAME"
done

总结

系统类型 推荐命令 关键关注字段
CentOS / Alibaba Cloud Linux cat /etc/os-release PRETTY_NAME
Ubuntu cat /etc/os-release PRETTY_NAME
任何 Linux uname -r 内核版本(非发行版)

一句话建议: 不管什么发行版,先敲 cat /etc/os-release,99% 的情况都能得到你要的答案。