如何快速判断服务器系统是CentOS还是Ubuntu
结论:通过检查系统发行版文件、查看/etc/os-release内容或使用lsb_release命令,可以准确判断服务器是CentOS还是Ubuntu。
一、检查系统发行版文件
Linux系统通常会在/etc目录下存放发行版标识文件,不同系统的文件名不同:
-
CentOS/RHEL系列:
cat /etc/centos-release # CentOS专用文件 cat /etc/redhat-release # RHEL及衍生系统通用输出示例:
CentOS Linux release 7.9.2009 (Core) -
Ubuntu/Debian系列:
cat /etc/lsb-release # Ubuntu专用文件 cat /etc/debian_version # Debian通用(Ubuntu基于Debian)输出示例:
DISTRIB_ID=Ubuntu
二、查看/etc/os-release文件(推荐)
这是最通用、最可靠的方法,适用于所有现代Linux发行版:
cat /etc/os-release
- CentOS输出示例:
NAME="CentOS Linux" ID="centos" - Ubuntu输出示例:
NAME="Ubuntu" ID="ubuntu"
三、使用lsb_release命令
如果系统安装了lsb-core包(Ubuntu默认安装,CentOS需手动安装),可直接运行:
lsb_release -a
- Ubuntu输出示例:
Distributor ID: Ubuntu Description: Ubuntu 22.04 LTS - CentOS需先安装工具:
yum install redhat-lsb-core -y # CentOS 7 dnf install redhat-lsb-core -y # CentOS 8+
四、通过包管理器区分
- CentOS/RHEL:使用
yum或dnf(CentOS 8+)which yum # 存在则为CentOS 7 which dnf # 存在则为CentOS 8+ - Ubuntu:使用
apt或apt-getwhich apt # 存在则为Ubuntu
五、其他辅助方法
-
内核版本信息:
uname -aUbuntu内核通常包含
ubuntu字样,如5.15.0-101-generic #111-Ubuntu。 -
服务管理工具:
- CentOS 7:
systemctl(兼容)或service - Ubuntu:默认使用
systemd,但无显著标识。
- CentOS 7:
总结
- 首选方法:查看
/etc/os-release或运行hostnamectl(Systemd系统通用)。 - 快速判断:CentOS有
/etc/centos-release,Ubuntu有/etc/lsb-release。 - 关键命令:
cat /etc/os-release | grep -E "NAME|ID" # 最简洁准确
注意: 避免仅依赖单一方法(如内核版本),综合多个特征更可靠,尤其是容器或最小化安装环境中部分文件可能缺失。
秒懂云