如何确认服务器主机安装的是Ubuntu还是CentOS?

要确认服务器主机安装的是 Ubuntu 还是 CentOS,可以通过以下几种常用方法快速判断:

1. 查看发行版信息文件(推荐)

大多数 Linux 发行版都在 /etc/ 目录下提供版本标识文件。

cat /etc/os-release
  • Ubuntu:输出中包含 ID=ubuntuID_LIKE=debian 等字段。
  • CentOS:输出中包含 ID=centosID_LIKE=rhel,且 PRETTY_NAME 通常显示 "CentOS Linux" 或 "CentOS Stream"。

注意:CentOS 8 及以后版本已转向 CentOS Stream,但 ID 仍为 centos;而旧版 CentOS 7 同样使用 ID=centos

2. 查看特定版本文件

某些系统有专门的版本文件:

# 对于 Debian/Ubuntu 系
cat /etc/issue
cat /etc/lsb-release

# 对于 RHEL/CentOS 系
cat /etc/redhat-release
  • Ubuntu/etc/issue 通常包含 "Ubuntu",/etc/lsb-release 存在且含 DISTRIB_ID=Ubuntu
  • CentOS/etc/redhat-release 存在,内容如 CentOS Linux release 7.9.2009 (Core)

3. 使用命令工具(如果已安装)

部分系统预装了检测工具:

# 通用方法(需 lsb_release 包,Ubuntu 默认安装,CentOS 需手动安装)
lsb_release -a

# 或直接检查包管理器类型
which apt      # 若存在 → Ubuntu/Debian
which yum      # 若存在 → CentOS/RHEL(yum 在 CentOS 7 及以下)
which dnf      # 若存在 → CentOS 8+ 或 Fedora

快速判断示例

命令 Ubuntu 输出特征 CentOS 输出特征
cat /etc/os-release ID=ubuntu ID=centosID=rhel
cat /etc/redhat-release 文件不存在 存在,如 CentOS Linux release...
cat /etc/issue Ubuntu ... CentOS Linux ...
which apt 返回路径 无输出
which yum 无输出 返回路径(CentOS 7 及以下)

💡 提示:现代环境中,优先使用 cat /etc/os-release,因为它兼容性强且标准化程度高,适用于绝大多数 Linux 发行版。

如需进一步自动化判断,可编写脚本解析该文件中的 ID= 字段即可。