在阿里云 ECS 实例(无论底层是 CentOS、Ubuntu、Debian 还是其他 Linux 发行版)上,查看系统发行版信息的命令主要有以下几种,根据具体场景选择即可:
1. 通用推荐命令:cat /etc/os-release
这是目前最标准、兼容性最好的方法。绝大多数现代 Linux 发行版(包括 Ubuntu 16.04+、CentOS 7/8、Debian 9+、Alibaba Cloud Linux 等)都支持此文件。
cat /etc/os-release
输出示例:
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
...
优点:信息结构化清晰,包含名称、版本、ID 等关键字段,适合脚本解析。
2. 传统兼容命令:lsb_release -a
适用于较老的发行版或需要获取特定格式化输出的场景。如果提示 command not found,通常是因为未安装 lsb-release 包。
lsb_release -a
输出示例:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal
注意:部分精简版镜像可能默认未安装该工具。
3. 快速查看内核及版本:uname -r + /etc/issue
如果你只需要确认内核版本或简单的欢迎标语:
# 查看内核版本
uname -r
# 查看系统欢迎信息(通常包含发行版名称)
cat /etc/issue
4. 针对阿里云特有镜像的说明
阿里云提供了几款特定的操作系统镜像,通过上述命令也能准确识别:
- Alibaba Cloud Linux (原 Aliyun Linux):
/etc/os-release中ID字段通常为alinux或alibaba。 - ECS 通用镜像:如 CentOS Stream、Rocky Linux 等,均遵循标准 LFS 规范,
/etc/os-release均可正常读取。
补充建议
在编写自动化运维脚本时,建议优先使用 cat /etc/os-release,因为它不需要额外安装软件包,且符合 POSIX 标准,能覆盖阿里云上 99% 以上的实例环境。若需判断具体大版本(如区分 CentOS 7 和 8),可结合 grep 提取 VERSION_ID 字段。
CLOUD云枢