速卖通素材
努力

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

服务器

在 Linux 系统中,判断发行版属于 RedHat 系列(如 RHEL, CentOS, Fedora)还是 Ubuntu/Debian 系列,最通用且可靠的方法是查看系统标识文件。以下是几种常用的方法:

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

这是现代 Linux 发行版通用的标准文件,包含了详细的版本信息。无论是什么发行版,通常都能找到。

cat /etc/os-release

如何判断:

  • RedHat 系列ID 字段通常为 rhel, centos, fedora, rocky, almalinux 等。
  • Ubuntu/Debian 系列ID 字段为 ubuntudebian

示例输出对比:

RedHat/CentOS:

ID="rhel"
VERSION_ID="8.6"
...

Ubuntu:

ID=ubuntu
VERSION_ID="22.04"
...

2. 使用 lsb_release 命令

如果系统安装了 lsb-release 包,可以使用此命令快速查看。

lsb_release -a

如何判断:

  • 查看 Distributor ID 字段:
    • 显示 RedHatEnterpriseLinux, CentOS, Fedora 等 -> RedHat 系列
    • 显示 UbuntuDebian -> Ubuntu 系列

注意:某些精简版的 Ubuntu 或旧版系统可能未安装此工具。如果提示“命令不存在”,请尝试方法 1 或 3。


3. 查看特定发行版文件

不同系列有各自特有的标识文件,可以直接检查是否存在:

  • RedHat 系列特有

    cat /etc/redhat-release
    # 或者
    cat /etc/system-release

    如果这两个文件存在且有内容,通常是 RedHat 系列。

  • Ubuntu/Debian 特有

    cat /etc/issue

    或者检查 /etc/debian_version(Ubuntu 是 Debian 的衍生版,该文件通常存在)。


4. 一键判断脚本(进阶)

如果你需要写一个脚本来自动判断,可以结合上述逻辑:

if [ -f /etc/redhat-release ]; then
    echo "检测到 RedHat 系列系统:"
    cat /etc/redhat-release
elif grep -q "ID="ubuntu"" /etc/os-release; then
    echo "检测到 Ubuntu 系列系统"
    lsb_release -d
elif grep -q "ID="debian"" /etc/os-release; then
    echo "检测到 Debian 系列系统"
    lsb_release -d
else
    echo "未知发行版,请查看 /etc/os-release"
    cat /etc/os-release | grep "^ID="
fi

总结

最推荐使用 cat /etc/os-release,因为它在所有主流发行版中都有定义,且格式统一,只需查看 ID= 这一行即可轻松区分。

未经允许不得转载:轻量云Cloud » linux查看系统是RedHat系列还是Ubuntu系列?