要判断一台云服务器是运行 Red Hat 还是 Ubuntu 系统,可以通过以下几种方法进行查看。通常你已经登录到服务器的终端(如通过 SSH),然后执行命令来获取系统信息。
方法一:查看 /etc/os-release 文件(推荐)
这是最通用、最准确的方法,适用于大多数现代 Linux 发行版。
cat /etc/os-release
输出示例:
-
Ubuntu:
NAME="Ubuntu" VERSION="20.04.6 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.6 LTS" ... -
Red Hat 或 RHEL:
NAME="Red Hat Enterprise Linux" VERSION="8.8 (Ootpa)" ID="rhel" ID_LIKE="fedora" PRETTY_NAME="Red Hat Enterprise Linux 8.8 (Ootpa)" ... -
CentOS(属于 Red Hat 家族):
NAME="CentOS Linux" ID="centos" ID_LIKE="rhel fedora" ...
注意:Amazon Linux、AlmaLinux、Rocky Linux 等也基于 Red Hat,ID 可能不同但
ID_LIKE=rhel表示与 Red Hat 兼容。
方法二:使用 lsb_release 命令(适用于 Ubuntu 和部分发行版)
lsb_release -a
- 如果输出中包含
Distributor ID: Ubuntu,则是 Ubuntu。 - Red Hat 默认可能不安装
lsb_release,所以这个命令在 RHEL 上可能不可用。
方法三:查看特定发行版文件
检查是否存在 Ubuntu 特有的文件:
ls /etc/lsb-release
或:
cat /etc/lsb-release
如果有内容且包含 DISTRIB_ID=Ubuntu,就是 Ubuntu。
检查 Red Hat 相关文件:
cat /etc/redhat-release
输出示例:
Red Hat Enterprise Linux release 8.8 (Ootpa)
或 CentOS:
CentOS Linux release 7.9.2009 (Core)
注意:Ubuntu 系统没有这个文件。
方法四:使用 hostnamectl 命令(systemd 系统可用)
hostnamectl
输出中会显示操作系统信息,例如:
Operating System: Ubuntu 20.04.6 LTS
Kernel: Linux 5.4.0-150-generic
Architecture: x86-64
或:
Operating System: Red Hat Enterprise Linux 8.8
方法五:通过包管理器判断
-
Ubuntu 使用
apt,可运行:dpkg --version如果有输出,说明是 Debian/Ubuntu 系。
-
Red Hat 使用
rpm和yum或dnf,可运行:rpm --version yum --version如果这些命令存在,很可能是 RHEL/CentOS/Fedora 等 Red Hat 系。
总结:快速判断命令
cat /etc/os-release | grep -i pretty_name
输出如:
PRETTY_NAME="Ubuntu 20.04.6 LTS"→ 是 UbuntuPRETTY_NAME="Red Hat Enterprise Linux 8.8"→ 是 RHEL
✅ 推荐组合命令(一行搞定):
grep -E "PRETTY_NAME|NAME" /etc/os-release
这样可以快速看到系统名称,明确区分是 Ubuntu 还是 Red Hat 系统。
ECLOUD博客