在 Linux 云服务器上,可以通过以下几种常用命令快速判断系统是 CentOS(或 RHEL/CentOS Stream)还是 Ubuntu:
1. 查看发行版信息文件(推荐)
大多数 Linux 发行版都在 /etc/ 目录下提供标准的信息文件。
方法 A:读取 os-release 文件(通用性强)
cat /etc/os-release
- Ubuntu 输出示例:
NAME="Ubuntu" VERSION="20.04.6 LTS (Focal Fossa)" ID=ubuntu ... - CentOS 输出示例:
NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ... # 或者 CentOS Stream/RHEL: NAME="Red Hat Enterprise Linux Server" ...
方法 B:直接读取特定文件(传统方式)
# CentOS 系列通常有 release 文件
cat /etc/redhat-release
# 输出类似:CentOS Linux release 7.9.2009 (Core)
# Ubuntu 系列通常没有 redhat-release,但有 issue 或 version 文件
cat /etc/issue
# 输出类似:Ubuntu 20.04.6 LTS n l
2. 使用包管理器检测
不同系统的默认包管理器不同,通过检查其版本信息也能快速区分:
# 尝试查询 apt 版本(Ubuntu/Debian)
apt --version
# 尝试查询 yum/dnf 版本(CentOS/RHEL/Fedora)
yum --version
# 或
dnf --version
- 如果
apt命令存在且返回版本信息,通常是 Ubuntu。 - 如果
yum或dnf存在,通常是 CentOS 或其衍生版。
3. 使用 lsb_release 命令
该命令专门用于显示 LSB(Linux Standard Base)相关信息,兼容性较好:
lsb_release -a
- Ubuntu:会显示
Distributor ID: Ubuntu - CentOS:可能提示
Command not found(需安装redhat-lsb-core),或者显示Distributor ID: CentOS
总结建议
最推荐的方式是执行 cat /etc/os-release,因为它在所有现代 Linux 发行版中都有定义,且格式统一,能清晰展示系统名称和版本号。
CLOUD技术笔记