在 Linux 系统中,判断发行版属于 RedHat 系列(如 CentOS, RHEL, Fedora)还是 Ubuntu/Debian 系列,最通用且可靠的方法是查看系统标识文件。以下是几种常用的命令:
1. 查看 /etc/os-release 文件(推荐)
这是现代 Linux 发行版的标准做法,适用于绝大多数新版系统(包括 Ubuntu 16.04+ 和 RHEL/CentOS 7+)。
cat /etc/os-release
如何判断:
- RedHat 系列:
ID或ID_LIKE字段通常包含rhel,fedora,centos,almalinux,rocky等关键词。- 例如:
ID="rhel"或ID="fedora"
- 例如:
- Ubuntu/Debian 系列:
ID字段通常为ubuntu或debian。- 例如:
ID=ubuntu或ID=debian
- 例如:
你也可以使用 grep 快速过滤关键信息:
grep -E "^ID=|^PRETTY_NAME=" /etc/os-release
2. 查看特定发行版标识文件
如果上述文件不存在(极老的系统),可以检查特定的版本文件:
检查 RedHat 系列特征
# 如果有这个文件,通常是 RedHat 系列
ls /etc/redhat-release
- 输出示例:
CentOS Linux release 7.9.2009 (Core)或Red Hat Enterprise Linux Server release 8.4
检查 Ubuntu/Debian 系列特征
# 如果有这个文件,通常是 Debian/Ubuntu 系列
ls /etc/debian_version
# 或者检查 Ubuntu 特有的文件
ls /etc/lsb-release
- 输出示例:
8.11(Debian) 或Ubuntu 20.04.3 LTS
3. 使用 hostnamectl 命令(针对 systemd 系统)
如果你的系统使用了 systemd(大多数现代发行版都默认支持),可以使用此命令:
hostnamectl
在输出中找到 Operating System 一行:
- 若显示
Red Hat Enterprise Linux、CentOS Linux等 -> RedHat 系列 - 若显示
Ubuntu、Debian GNU/Linux等 -> Ubuntu/Debian 系列
快速总结对照表
| 特征关键字 | 所属系列 | 典型代表 |
|---|---|---|
ID=rhel, ID=fedora, ID=centos |
RedHat 系列 | RHEL, CentOS, Rocky, AlmaLinux, Fedora |
ID=ubuntu, ID=debian |
Ubuntu/Debian 系列 | Ubuntu, Debian, Kali, Linux Mint |
存在 /etc/redhat-release |
RedHat 系列 | 老版本 RHEL/CentOS |
存在 /etc/debian_version |
Ubuntu/Debian 系列 | 老版本 Debian/Ubuntu |
建议:优先使用 cat /etc/os-release,因为它能提供最准确且统一的格式信息。
CLOUD云枢