如何知道linux是ubuntu还是centos?

云计算

如何判断Linux系统是Ubuntu还是CentOS

结论先行:可以通过检查系统发行版信息文件、查看包管理器类型或观察默认配置差异来快速区分Ubuntu和CentOS。最可靠的方法是查看/etc/os-release文件内容

主要识别方法

1. 检查系统发行版信息文件

  • /etc/os-release文件(推荐方法):

    cat /etc/os-release
    • Ubuntu会显示ID=ubuntu
    • CentOS会显示ID="centos"ID="rhel"(对于CentOS 7+)
  • 其他相关文件

    • /etc/issue – 通常包含简化的发行版名称
    • /etc/centos-release – 仅存在于CentOS系统
    • /etc/lsb-release – 通常存在于Ubuntu/Debian系统

2. 查看包管理器类型

  • Ubuntu使用apt/apt-get

    which apt  # 存在则表示可能是Ubuntu
  • CentOS使用yumdnf

    which yum  # CentOS 7及以下
    which dnf  # CentOS 8+

3. 系统命令差异

  • 服务管理命令

    • Ubuntu通常使用systemctl(新版本)或service
    • CentOS 7+也使用systemctl,但旧版可能使用service
  • 默认shell提示符

    • Ubuntu通常显示用户名@主机名
    • CentOS可能显示更简单的提示符(取决于配置)

辅助识别特征

文件系统布局差异

  • Ubuntu

    • 用户主目录通常在/home/username
    • 第三方软件常安装在/usr/local
  • CentOS

    • 类似布局,但可能有不同的默认目录结构

默认软件差异

  • Ubuntu

    • 默认使用snap包管理
    • 预装ubuntu-desktop(桌面版)
  • CentOS

    • 更倾向于传统RPM包
    • 服务器导向,桌面环境可选

快速判断脚本

if [ -f /etc/os-release ]; then
    . /etc/os-release
    echo "系统是: $NAME $VERSION"
elif [ -f /etc/centos-release ]; then
    echo "系统是: CentOS $(cat /etc/centos-release | awk '{print $4}')"
else
    echo "无法确定系统类型"
fi

最终建议:对于现代Linux系统,/etc/os-release是最标准可靠的识别方法,适用于大多数发行版。在不确定时,优先检查此文件内容。

未经允许不得转载:CLOUD云枢 » 如何知道linux是ubuntu还是centos?