努力
加油

如何查看阿里云服务器当前使用的Linux版本?

登录到 ECS 实例后,确认 Linux 发行版和具体版本信息,最直接且准确的方法有以下几种。推荐优先使用第一种,因为它能一次性给出最完整的系统标识。

1. 查看 /etc/os-release(推荐)

这是目前大多数现代 Linux 发行版(如 CentOS 7/8, Ubuntu 16.04+, Debian 8+, Fedora 等)遵循的标准文件。它提供了结构化的键值对信息,解析起来非常方便。

cat /etc/os-release

输出示例:

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

从 PRETTY_NAME 或 NAME + VERSION_ID 即可明确知道当前是 CentOS 7、Ubuntu 20.04 还是其他版本。


2. 使用 lsb_release 命令

如果你安装了 redhat-lsb-core 或 lsb-release 包,可以使用这个专门用于显示 LSB(Linux Standard Base)信息的命令。

lsb_release -a

注意:

  • 在最小化安装的 CentOS 或某些精简版镜像中,该命令可能不存在,需要手动安装:yum install redhat-lsb-core 或 apt-get install lsb-release。
  • 如果命令可用,它会直接输出类似 Distributor ID: Ubuntu, Description: Ubuntu 22.04.3 LTS 的信息。

3. 查看 /etc/redhat-release 或 /etc/issue

这是比较传统的方法,尤其在基于 RHEL/CentOS 的系统上非常可靠。

  • RedHat/CentOS/Fedora:

    cat /etc/redhat-release

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

  • 通用方法(所有发行版通常都有):

    cat /etc/issue

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

⚠️ 注意:/etc/issue 的内容有时会被云厂商的欢迎消息(MOTD)或自定义配置修改,不如 /etc/os-release 稳定。


4. 结合内核版本查看(补充信息)

有时候你不仅关心“发行版”,还关心“内核版本”(比如是否升级了内核)。可以配合以下命令:

uname -r

输出示例:3.10.0-1160.el7.x86_64

这告诉你运行的是哪个内核,但不等于发行版版本。例如,同一个 CentOS 7 可能因为内核更新而显示不同的 uname -r,但发行版依然是 CentOS 7。


✅ 最佳实践总结

场景 推荐命令 优点
通用、最准确 cat /etc/os-release 标准化、结构化、几乎所有现代 Linux 都支持
RHEL/CentOS 系 cat /etc/redhat-release 简单直接,历史兼容性好
需脚本解析 grep PRETTY_NAME /etc/os-release | cut -d= -f2 方便在 Shell 脚本中提取版本号

💡 阿里云用户特别提示

  1. 镜像来源:如果你是通过阿里云控制台创建的 ECS,建议直接使用官方公共镜像(如 Alibaba Cloud Linux、CentOS Stream、Ubuntu LTS 等),这些镜像的版本信息都是标准且经过验证的。
  2. 安全合规:请确保你的操作系统处于主流支持生命周期内。例如,CentOS 8 已于 2021 年底停止维护,建议迁移至 Alibaba Cloud Linux 3 或 CentOS Stream 9。查看版本后,可对照各厂商的支持周期表进行规划。
  3. 权限要求:上述命令均只需普通用户权限即可查看,无需 root。但若使用 lsb_release 而未安装相关包,则可能需要 sudo 权限安装。

一句话结论:
直接执行 cat /etc/os-release,看 PRETTY_NAME 字段,这是最权威、最通用的方式。