如何判断系统是centos还是欧拉?

要判断系统是 CentOS 还是 欧拉(OpenEuler 或 EulerOS),可以通过以下几种方法进行识别:


✅ 方法一:查看系统发行版信息文件

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

cat /etc/os-release
  • 如果是 CentOS,输出中会包含:

    NAME="CentOS Linux"
    PRETTY_NAME="CentOS Linux 7 (Core)"
    ID="centos"
    ID_LIKE="rhel fedora"
    VERSION_ID="7"
  • 如果是 OpenEuler 或 EulerOS,输出中会包含:

    NAME="openEuler"
    PRETTY_NAME="openEuler 20.03 LTS"
    ID="openEuler"
    VERSION_ID="20.03"

注意:华为 EulerOS 和社区版 openEuler 都会显示 ID=openEuler,细微差别可能在版本号或厂商信息。


2. 查看 /etc/redhat-release(仅适用于基于 RHEL 的系统)

cat /etc/redhat-release
  • CentOS 输出示例

    CentOS Linux release 7.9.2009 (Core)
  • 欧拉系统通常不会存在这个文件,或者内容为空/不存在。

⚠️ 注意:openEuler 不是 Red Hat 系,因此一般没有 /etc/redhat-release 文件。


3. 查看 /etc/issue

cat /etc/issue

可能会看到类似:

openEuler release 20.03 LTS

CentOS Linux 7 (Core)

✅ 方法二:使用 hostnamectl 命令(systemd 系统)

hostnamectl

输出中会有 Operating System 字段:

  • 示例(CentOS):

    Operating System: CentOS Linux 7 (Core)
  • 示例(openEuler):

    Operating System: openEuler 22.03 LTS

✅ 方法三:检查包管理器类型

CentOS 使用 yumdnf(RPM 包管理系统):

rpm -q centos-release
# 或
yum --version

openEuler 也使用 yum/dnf + RPM,但发行版包不同:

rpm -q openeuler-release
  • 如果返回类似 openeuler-release-22.03-lts.x86_64,说明是欧拉。
  • 如果返回 centos-release-7-9.el7.centos.x86_64,则是 CentOS。

✅ 方法四:通过内核版本或启动信息辅助判断(非绝对)

虽然不能单靠内核判断,但可以辅助参考:

uname -r
  • openEuler 内核版本可能带有 anolisoe 或特定华为补丁标识(视版本而定)。
  • 例如:5.10.0-60.oe2203.10.0.0.118.x86_64

而 CentOS 通常是标准的 Red Hat 内核命名:

  • 例如:3.10.0-1160.el7.x86_64

✅ 总结:快速判断脚本

你可以运行以下命令一键判断:

if grep -qi "openEuler|euleros" /etc/os-release 2>/dev/null; then
    echo "系统是:欧拉 (openEuler/EulerOS)"
elif grep -qi "centos" /etc/os-release 2>/dev/null; then
    echo "系统是:CentOS"
else
    echo "无法识别系统类型"
fi

🔍 补充说明

  • EulerOS:华为企业级商用版本,闭源或受限发布。
  • openEuler:开源社区版本,任何人都可下载使用。
  • 两者都源自 CentOS/RHEL 生态,但已独立发展,软件源、生命周期、工具链有所不同。

如有需要,也可以提供 cat /etc/os-release 的输出,我可以帮你具体判断。

未经允许不得转载:CLOUD技术博 » 如何判断系统是centos还是欧拉?