奋斗
努力

linux查看系统是RedHat系列还是Ubuntu系列?

云计算

在 Linux 系统中,判断发行版属于 RedHat 系列(如 RHEL, CentOS, Fedora, AlmaLinux, Rocky Linux)还是 Ubuntu/Debian 系列(如 Ubuntu, Debian, Kali),最可靠的方法是查看系统标识文件。

以下是几种常用的检测方法:

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

这是现代 Linux 发行版通用的标准文件,包含了系统的名称、版本和 ID 信息。

执行命令:

cat /etc/os-release

如何判断:

  • RedHat 系列:通常 ID 字段为 rhel, centos, fedora, almalinux, rocky 等。
    • 例如:ID="rhel"ID="centos"
  • Ubuntu/Debian 系列:通常 ID 字段为 ubuntu, debian, kali 等。
    • 例如:ID="ubuntu"ID="debian"

快捷提取 ID 的方法:

grep "^ID=" /etc/os-release

2. 查看特定的发布文件

如果系统较老或为了快速确认,可以直接读取特定于发行版的文件。

情况 A:尝试读取 RedHat 系列文件

cat /etc/redhat-release
  • 有输出:说明是 RedHat 系列(会显示类似 CentOS Linux release 7.9.2009 (Core))。
  • 无输出/报错:说明不是 RedHat 系列(通常是 Ubuntu 或 Debian)。

情况 B:尝试读取 Ubuntu 系列文件

cat /etc/lsb-release
  • 有输出:如果看到 DISTRIB_ID=Ubuntu,则是 Ubuntu 系列。
  • 注意:Debian 系列有时没有这个文件,或者内容较少。

3. 使用 hostnamectl 命令

如果系统使用了 systemd(大多数现代发行版都有),可以使用此命令查看操作系统类型:

hostnamectl

在输出中查找 Operating System 一行:

  • 包含 "Red Hat"、"CentOS"、"Fedora" -> RedHat 系列
  • 包含 "Ubuntu"、"Debian GNU/Linux" -> Ubuntu 系列

总结对照表

检查方法 RedHat 系列特征 Ubuntu/Debian 系列特征
/etc/os-release ID=rhel, ID=centos, ID=fedora ID=ubuntu, ID=debian
/etc/redhat-release 存在且有内容 不存在 (通常报错)
/etc/lsb-release 通常为空或无 DISTRIB_ID DISTRIB_ID=Ubuntu
hostnamectl OS: CentOS Linux / RHEL … OS: Ubuntu / Debian GNU/Linux

结论:最通用且准确的方式是运行 grep "^ID=" /etc/os-release。如果 ID 是 ubuntudebian,则为 Ubuntu 系列;如果是 rhelcentos 等其他值,则为 RedHat 系列。

未经允许不得转载:云服务器 » linux查看系统是RedHat系列还是Ubuntu系列?