张芷铭的个人博客

Linux 系统类型

你现在的核心疑问是:Linux为什么会有Ubuntu/Debian和CentOS/RHEL/Fedora两套不同的命令体系,以及如何从uname -a的输出判断自己的系统类型。我会先解释背后的核心原因,再教你精准识别系统版本,最后结合你的服务器输出给出明确结论。

一、Linux有两套命令体系的核心原因:包管理器不同

Linux本身是内核,我们日常用的“Linux系统”其实是“Linux内核 + 发行版套件”(简称Linux发行版)。不同发行版的核心差异是软件包管理器(安装/管理软件的工具),这直接导致了安装软件的命令不同:

1. 两大主流包管理体系

体系代表发行版核心包管理器安装软件的核心命令
Debian系Ubuntu、Debian、DeepinAPT(.deb包)apt install/apt-get
RedHat系CentOS、RHEL、Fedora、AlmaLinuxDNF/YUM(.rpm包)dnf install/yum install

2. 为什么会分这两大体系?

  • Debian系:主打“稳定、易用”,桌面端(Ubuntu)和轻量服务器场景用得多,包管理器APT操作简单,软件源更新快;
  • RedHat系:主打“企业级、高可用”,服务器场景(尤其是阿里云/腾讯云等云服务器)占比极高,CentOS是RHEL的免费社区版,DNF/YUM兼容性强、稳定性好。

简单说:不是Linux有“两个版本”,而是不同发行版选择了不同的软件管理工具,导致安装命令不一样。

二、如何判断自己的Linux系统类型(3种方法,从易到难)

方法1:查看系统版本文件(最精准)

这是判断发行版的核心方法,不同发行版会在固定文件中记录版本信息:

1
2
# 通用命令(几乎所有发行版都支持)
cat /etc/os-release

输出示例(CentOS/AlmaLinux):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
NAME="AlmaLinux"
VERSION="8.9 (Midnight Oncilla)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.9"
PLATFORM_ID="platform:el8"
PRETTY_NAME="AlmaLinux 8.9 (Midnight Oncilla)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:almalinux:almalinux:8::baseos"
HOME_URL="https://almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"

ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8"
ALMALINUX_MANTISBT_PROJECT_VERSION="8.9"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.9"

方法2:查看发行版专属文件(快速判断)

1
2
3
4
5
# 查看是否是RedHat系(CentOS/RHEL/AlmaLinux)
cat /etc/redhat-release

# 查看是否是Debian系(Ubuntu/Debian)
cat /etc/debian_version
  • 如果/etc/redhat-release有输出(如AlmaLinux release 8.9 (Midnight Oncilla)),就是RedHat系;
  • 如果/etc/debian_version有输出(如11.7),就是Debian系;
  • 不存在的文件会提示“No such file or directory”。

方法3:解析uname -a输出(辅助判断)

你给出的uname -a输出:

Linux iZ2ze5hqng6iwr2aj2ebh7Z 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64 x86_64 x86_64 GNU/Linux

关键信息解读:

  • 5.10.134-19.2.al8.x86_64al8AlmaLinux 8的标识(AlmaLinux是CentOS停更后,阿里云等厂商主推的RedHat系替代版);
  • 没有ubuntu/debian等关键词,排除Debian系;
  • 结论:你的系统属于RedHat系(AlmaLinux 8,兼容CentOS 8的所有命令)。

三、针对你的服务器的实操结论

  1. 系统类型:你的阿里云服务器是RedHat系的AlmaLinux 8(CentOS 8的替代版,完全兼容CentOS的命令);
  2. 安装Node.js/npm的正确命令:应该用RedHat系的dnf(CentOS 8+推荐用dnf,替代旧的yum):
    1
    2
    3
    4
    5
    6
    7
    
    # 先更新软件源
    sudo dnf update -y
    # 安装Node.js和npm
    sudo dnf install nodejs npm -y
    # 验证安装成功
    node -v
    npm -v
    
  3. 补充:如果dnf命令提示不存在(极少数老版本CentOS),改用yum
    1
    
    sudo yum install nodejs npm -y
    

总结

  1. Linux命令差异的核心是包管理器:Debian系用apt,RedHat系用dnf/yum
  2. 判断系统类型的核心方法是cat /etc/os-release(精准),uname -a仅作辅助;
  3. 你的服务器是RedHat系的AlmaLinux 8,安装软件需用dnf/yum命令,而非apt

如果需要,我可以整理一份「Linux发行版快速识别+常用命令对照表」,把Debian/RedHat系的核心操作(安装/卸载/更新软件)汇总起来,方便你后续操作,需要吗?

💬 评论