Linux发行版分类与Centos替代品

发布于:2025-08-07 ⋅ 阅读:(18) ⋅ 点赞:(0)

让centos7气的不轻,这玩意儿太老了,什么都不好配置。

Linux 发行版的大致分类

CentOS 7(2014年发布,EOL 到 2024-06)现在已经非常老旧,内核 3.10,各种库都停在几年前,对现代软件支持非常差,踩坑无数是常态。

Linux 发行版大致可以分为几大“家族”,它们的设计理念和包管理系统各不相同:

1. Red Hat 系列(RPM 系)

以 Red Hat Enterprise Linux 为核心,使用 .rpm 包管理系统,配套工具是 yum(旧)或 dnf(新):

发行版 特点
RHEL(Red Hat Enterprise Linux) 企业级,稳定、安全,付费支持。
CentOS 7/8(已结束) RHEL 的免费克隆,7 已过期,8 改为 Stream 模式。
CentOS Stream RHEL 的“滚动预发布版”,更像测试版。
AlmaLinux / Rocky Linux 完全兼容 RHEL 的免费社区替代品,面向企业部署,适合替代 CentOS
Oracle Linux 也是 RHEL 克隆,附加 Oracle 特性,可免费使用。

2. Debian 系列(DEB 系)

使用 .deb 包,工具为 apt,广泛用于桌面和服务器:

发行版 特点
Debian 稳定、开源纯净、更新慢但可靠,适合服务器。
Ubuntu(Server/Cloud) 基于 Debian,更新更积极,文档完善,支持广泛。阿里云/腾讯云默认发行版。
Kali Linux 安全测试专用,基于 Debian。

3. Arch 系列

追求极简和“滚动更新”,使用 pacman

发行版 特点
Arch Linux 发烧友级别,需要动手能力强。
Manjaro 基于 Arch,但更易用,图形化支持较好。

4. SUSE 系列

德国系发行版,企业用户使用较多:

发行版 特点
openSUSE 社区版,稳定。
SUSE Linux Enterprise 企业级,和 RHEL 类似。

一张图理清所有Linux发行版的关系:https://github.com/FabioLolix/LinuxTimeline/releases/

这张图片非常巨大!

CentOS 7 的替代品推荐

现在 CentOS 7 已停止维护,建议根据实际用途替换:

✅ 推荐用于 服务器生产环境

替代品 说明
Rocky Linux 9.x 社区驱动,100% RHEL 兼容,开发者是原 CentOS 创始人,最靠谱的替代品
AlmaLinux 9.x 由 CloudLinux 维护,企业级,等同于 RHEL,免费无品牌限制
Oracle Linux 9.x 同样兼容 RHEL,Oracle 加了一些优化,也可以免费使用。

它们都是以 RHEL 为上游构建,包格式和系统管理方式都一样。你从 CentOS 7 迁移过去会非常顺手

✅ 如果你 不是非要 RPM 系,还可以考虑:

替代品 说明
Ubuntu Server 22.04 LTS 社区/企业都很受欢迎,LTS 支持五年(甚至十年),配套文档齐全,容器化、云环境原生支持好。
Debian 12 极致稳定,纯净开源,很多云服务商也支持。

总结建议:

场景 推荐发行版
想继续用 RHEL 兼容系统 Rocky Linux、AlmaLinux
想用更广泛文档支持和现代软件 Ubuntu Server
要纯净稳定系统自己折腾 Debian
内核/软件必须新(如开发 AI、QUIC 等) Ubuntu / Arch
桌面用 Manjaro / Fedora Workstation

有些人可能会提到CentOS Stream 9。

CentOS Stream 9 当然也是一个选项,但它和 CentOS 7/8 的定位不一样,在选择前你需要非常清楚它的“身份”。

CentOS Stream 9 是 RHEL 9 的“滚动预发布版本”,不是稳定发行版,而是介于 Fedora 和 RHEL 之间的“开发分支”。

🧬 CentOS Stream 的定位变化

发行版 定位 说明
Fedora 前沿测试版 快速迭代,包新、变化快,是 RHEL 的技术试验田。
CentOS Stream RHEL 的开发预览版 所有变更在此测试,然后合并进 RHEL。不是最终稳定版本。
RHEL(Red Hat Enterprise Linux) 企业稳定版 基于 Stream 的成果,经过长期测试才发布更新。

所以 CentOS Stream ≠ RHEL ≠ CentOS(以前的 7/8)。

📦 CentOS Stream 9 的特点

优点 缺点
✓ 比 RHEL 新:内核、包、工具都更靠近 Fedora ✗ 没有 ABI 稳定性保证(小版本升级可能破坏兼容性)
✓ 免费、无需订阅 ✗ 新版本先推到 Stream,等于“测试场”
✓ 基本与 RHEL 9 同步,很多场景兼容 ✗ 企业级生产环境中不推荐用它作基座

举个例子,RHEL 9.4 还没发布的时候,Stream 9 可能已经跑在 9.5 测试版本了,你一更新系统,可能拉到还没正式发布的软件包。

🧭 适合使用 CentOS Stream 9 的场景

场景 说明
开发测试环境 模拟 RHEL 行为,测试将来升级的影响
研发需要靠近 RHEL 生态 想紧跟最新 API/ABI 变化,提前适配
学习或尝鲜 想学习新版工具链(systemd、dnf、SELinux、firewalld 等)

❌ 不推荐使用 CentOS Stream 9 的情况

  • 生产级别的业务服务器
  • 安全审计严格的环境(如金融、政府、企业内网)
  • 对 ABI 稳定性有强依赖(例如编译内核模块、定制 RPM 包)

🆚 对比:CentOS Stream 9 vs Rocky / Alma 9

项目 CentOS Stream 9 Rocky / AlmaLinux 9
稳定性 中等(开发版) 高(与 RHEL 完全兼容)
更新频率 高(滚动更新) 中(跟随 RHEL)
使用风险 中等偏高
ABI 保证 ❌ 无 ✅ 有
适合场景 测试、研发 生产环境

✅ 总结建议

  • 如果你只是临时开发、测试环境CentOS Stream 9 没问题
  • 如果你要长期运行服务、搭建业务环境 → 用 Rocky Linux 9AlmaLinux 9
  • 如果你不喜欢 RPM 系统了Ubuntu Server 22.04 LTS 会更顺手

所以我们将目光锁定在了AlmaLinux 和 Rocky Linux!

AlmaLinux 和 Rocky Linux

AlmaLinux 和 Rocky Linux 都是目前 CentOS 最稳妥的替代品,完全兼容 RHEL(Red Hat Enterprise Linux),它们的目标就是成为“真正的 CentOS 接班人”。

AlmaLinux vs Rocky Linux 对比:

项目 🪨 Rocky Linux 🧬 AlmaLinux
发起组织 CentOS 创始人 Gregory Kurtzer 发起,非营利组织 RESF 管理 由商业公司 CloudLinux Inc. 发起,交给 AlmaLinux OS Foundation(非营利)管理
目标定位 1:1 RHEL 克隆,尽可能还原 CentOS 精神 同样是 1:1 RHEL 克隆,但企业特性更强一些
是否收费 完全免费,社区驱动 完全免费,无需 CloudLinux 订阅
稳定性/兼容性 与 RHEL 完全兼容 与 RHEL 完全兼容
更新节奏 与 RHEL 保持同步,有延迟窗口(数天内同步) 与 RHEL 几乎同步,有自动测试验证链(CI)
社区活跃度 很活跃,CentOS 原班人马转移而来 活跃,企业赞助,CI/CD 自动验证系统更成熟
支持架构 x86_64、aarch64、ppc64le、s390x x86_64、aarch64、ppc64le、s390x
品牌立场 更中立,更像“继承者” 企业背景更浓,稳定性保障更多
安全通报(Errata)
FIPS 支持(加密合规) 支持(手动开启) 支持(更易获取 CloudLinux 支持)
迁移工具 支持 migrate2rocky.sh 脚本从 CentOS7/8 迁移 支持 elevate 工具或 migrate2alma.sh
CI/CD 验证系统 有,但较新 有,CloudLinux 投入较多资源开发

✅ 共同点:它们都不会搞 Stream、不搞社区测试,始终保持稳定版本同步于 RHEL 正式版

AlmaLinux 和 Rocky 适合谁?

场景 推荐选择
想要最接近 CentOS 的精神继承 Rocky Linux(CentOS 原始之魂)
更看重稳定性和商业支持(CloudLinux 公司背书) AlmaLinux
大型企业或未来想接入云服务厂商支持 ✅ 两者皆可,Rocky 稍偏社区,Alma 偏企业
想跟着更透明的社区开发进度走 ✅ Rocky(RESF 社区更活跃)
想获得 RHEL 认证体系的衍生服务 ✅ AlmaLinux(支持更丰富的云平台认证)

其实就体验和技术来说,它们非常接近,选哪一个都不会错。你可以理解为:

🌍 AlmaLinux 像 RHEL 的稳定商业副本,
🧑‍💻 Rocky Linux 像 RHEL 的忠实开源兄弟。

📥 下载安装

下载镜像时选 Minimal ISO(最小安装)DVD ISO(完整安装) 即可。

在这里插入图片描述

在这里插入图片描述有些小伙伴不知道下载哪个镜像,首先,这几个镜像的名字听起来都像“差不多的 ISO 文件”,但它们用途、大小、使用场景完全不同

📦 1. DVD ISO

“全量安装镜像”
含有系统安装器 + 完整软件包仓库(如 GNOME、开发工具、网络组件等)

✅ 特点:

项目 说明
文件大小 6~8 GB 左右
网络依赖 ❌ 无,可全离线安装
包含内容 完整 repo,适合 GUI 桌面、服务器全功能安装
适合人群 没网络/慢网络环境,或需要全功能离线部署
安装方式 可在安装过程中自由选择组件(最小系统 / GUI 桌面 / Web 服务 等)

✅ 推荐使用场景:

  • 你要部署一个有 GUI、Web、数据库、多服务的完整服务器
  • 内网安装(比如机房、私有云),不能联网

🌐 2. Boot ISO

“网络引导镜像”
是个小的安装启动器,安装过程中联网拉取软件包

✅ 特点:

项目 说明
文件大小 700~800 MB
网络依赖 ✅ 必须联网
包含内容 只含安装器本身,不含 RPM 包
适合人群 习惯联网安装,想要安装最新包版本
安装方式 安装界面会引导你选择软件源并在线下载安装

✅ 推荐使用场景:

  • 网络畅通
  • 想获取最新包(或指定自己的 repo)
  • 不希望下载一个庞大的 DVD ISO

💿 3. Minimal ISO

“最小系统 ISO”
离线可安装的简版系统,只含基本工具包

✅ 特点:

项目 说明
文件大小 ~2 GB 左右
网络依赖 ❌ 可离线安装
包含内容 仅系统最基本组件(如 shell、network、yum/dnf)
安装方式 安装后需要手动安装额外组件(如 docker、vim、开发工具)

✅ 推荐使用场景:

  • 用于部署精简、定制化的生产环境
  • 安装后你准备用脚本/Ansible 自定义安装所需服务
  • 云镜像构建、自建容器环境、最小 attack surface 场景

🧭 如何选择镜像?

需求 推荐镜像
有网络,想快速装最新系统 ✅ Boot ISO
没网络/内网环境,要全功能安装 ✅ DVD ISO
想极致精简、自己装服务、构建镜像 ✅ Minimal ISO

🔚 总结一句话:

Rocky Linux 更“像” CentOS,而 AlmaLinux 更“强”于 CentOS

选哪个都可以,重要的是别再用 CentOS 7/8/Stream 了 😂。

配置要求

DVD(全量安装) vs Minimal 安装资源占用对比

这两个镜像在 安装前期(ISO 大小)差别很大,但安装后资源占用完全取决于你装了哪些组件

对比项 DVD 安装(全量) Minimal 安装
ISO 大小 6~8 GB 2 GB 左右
安装体积(磁盘) 通常 4~8+ GB(取决于是否安装 GUI) 安装后 <1.5 GB
内存使用 启动后可能占 600MB~1.5GB(如果装 GUI) 启动后仅占用 100MB~250MB
服务数量 启动时几十个服务(cron、cups、NetworkManager、GUI 等) 只有基础服务(systemd、sshd、network)
启动速度 慢(服务多) 快(服务少)
攻击面 小(仅核心组件)

Minimal 是精简系统,资源占用低;DVD 是全功能系统,占用取决于你选装了什么。

AlmaLinux vs Rocky Linux 的资源占用区别?

这个问题更简单:几乎没有区别

因为它们都是 100% RHEL 兼容克隆,用的同一套包、内核、服务、默认配置,唯一不同是镜像源、签名、logo 等。

✅ 两者在资源占用上完全一致:

项目 AlmaLinux Rocky Linux
内存占用 ✔️ 一样 ✔️ 一样
磁盘使用 ✔️ 一样 ✔️ 一样
运行效率 ✔️ 一样 ✔️ 一样
启动服务 ✔️ 一样 ✔️ 一样

除非你更改配置或安装额外服务,否则运行效率和资源使用无差异

VMware 下如何分配资源?

🧠 推荐资源配置(Minimal 系统):

项目 最低配置 建议配置
CPU 1 vCPU 2 vCPU(更流畅)
内存 512 MB 1024 MB 或更高(方便运行服务)
磁盘 8 GB 20 GB(留空间装 docker/k8s 等)
网卡 NAT or Bridge NAT for 外网访问

⚠️ 注意:如果你要装 GUI 桌面(Gnome),内存最好 2 GB 起步,否则非常卡。

🎯 总结选择建议

使用场景 推荐
学习、测试命令行、部署容器服务 ✅ Minimal ISO
需要图形界面、办公、开发工具一键安装 ✅ DVD ISO(安装时勾选 GUI)
网络环境好,喜欢装最新版包 ✅ Boot ISO
要部署生产环境 ✅ Minimal ISO + 手动配置(更可控)

✅ 最后贴士

  • Minimal 是轻量王者,特别适合做开发机、k8s 节点、镜像打包环境;
  • 在 VMware 中启用 “Guest OS type: Red Hat Enterprise Linux 9.x 64-bit” 会更兼容;
  • 推荐启用虚拟化加速(Intel VT-x / AMD-V)以提升性能;
  • 如果是搭建 DevOps 环境、K8s、Docker、Ansible、NGINX 等,Minimal 是首选

vmware workstation pro

要玩转AlmaLinux 和 Rocky Linux v10版本,则需要下载vmware workstation pro 17,刚好vmware workstation pro在去年免费了。

Fusion 是 Mac 专用的虚拟机软件,Workstation 是 Windows / Linux
专用的虚拟机软件。功能接近,底层架构和宿主平台不同。

那我们就去下载一个,目前vm改为了订阅式,下载比较复杂。

首先进入官网:https://www.vmware.com/

在这里插入图片描述
在搜索栏输入:Desktop Hypervisor,然后在结果页找到Products下的workstation-and-fusion:

在这里插入图片描述

进入如下链接:https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion,然后点击下载:

在这里插入图片描述
会要求你进行登录,没账号可以注册。

登录完成后点击My Downloads即可下载免费的workstation:

在这里插入图片描述

安装好后,我就可以创建新的虚拟机了!

在这里插入图片描述

可以看到新版的vm 直接就检测到了对应的发行版!后续安装过程这里略过,可以发现和centos是一样的安装步骤:

在这里插入图片描述

安装vm tools

安装完虚拟机后就可以安装vm提供性能监控和优化工具了,如果采用传统的方式安装可能会报如下错误:

/tmp/vmware-tools-distrib/vmware-install.pl: /usr/bin/perl: bad interpreter: No such file or directory

者表示 系统里没有安装 Perl 解释器,但 vmware-install.pl 是一个 Perl 脚本,必须依赖 Perl 来执行。

✅ 解决方法:

sudo yum install -y perl

yum 是 CentOS 7 的包管理器(CentOS 8 开始是 dnf

安装完成后,重新执行你之前的安装命令:

sudo ./vmware-install.pl

就可以进入 VMware Tools 的安装流程了。

💡 建议(更推荐用 open-vm-tools)

因为 VMware 自带的 Tools 安装比较老、更新麻烦,你也可以直接用开源版本:

sudo yum install -y open-vm-tools
sudo systemctl enable --now vmtoolsd

这个方式:

  • 不需要挂载光盘或解压;
  • 能自动升级;
  • 已被 VMware 官方推荐为默认方式

配置静态IP

你可能会用老方法配置静态IP:

vim /etc/sysconfig/network-scripts/ifcfg-ens33(网卡名称也可能是其他名称)

然后发现/etc/sysconfig下没有network-scripts。

从 RHEL 8 开始(包括 AlmaLinux、Rocky 8/9),官方就 淘汰了传统的 network-scripts(ifcfg-xxx)配置方式,转而使用:

NetworkManager + nmcli 或 nmtui 工具 + keyfile 配置

配置方法1:使用 nmcli(命令行配置网络)
配置方法2:使用 nmtui(图形化文本界面)

这里主要讲方法1:

假设我要配置一个如下的网络:

  • 静态 IP10.128.145.158
  • 子网掩码255.255.255.0(即 /24
  • 网关10.128.145.2
  • DNS8.8.8.8
  • 网卡连接名:你说用 nmcli connection show 查到是 ens160

只需要执行以下命令:

nmcli connection modify ens160 \
  ipv4.addresses 10.128.145.158/24 \
  ipv4.gateway 10.128.145.2 \
  ipv4.dns 8.8.8.8 \
  ipv4.method manual \
  connection.autoconnect yes

nmcli connection down ens160 && nmcli connection up ens160

🔍 命令说明:

命令部分 作用
ipv4.addresses 设置静态 IP 和子网掩码
ipv4.gateway 设置默认网关
ipv4.dns 设置 DNS
ipv4.method manual 使用手动配置(即关闭 DHCP)
connection.autoconnect 开机自动连接
down / up 重启网络连接应用新配置

配置成功后你可以用以下命令确认:

ip addr show ens160

或:

nmcli device show ens160

还可以测试:

ping -c 3 8.8.8.8      # 测试网络连通
ping -c 3 www.baidu.com  # 测试 DNS 是否正常

配置之后就可以用MobaXterm之类的工具链接了!

在这里插入图片描述

安装一些开发工具

我们可以看到mini版本内置了python3:

在这里插入图片描述
那我们就安装一个docker,

首先,刷新 Alma 系统上的软件包,确保您使用的是发行版仓库中最新的软件版本。如果有待处理的更新,请应用它们。

sudo dnf update

现在让我们将官方 Docker 存储库添加到您的 AlmaLinux 10 系统,以便您可以直接从上游维护的 RPM 包安装和更新 Docker。

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

运行以下命令在 AlmaLinux 10 上安装最新的 Docker 版本。

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

这将安装以下 Docker 组件:

  • docker-ce:Docker 引擎本身。
  • docker-ce-cli:一个命令行工具,可让您与 Docker 守护进程对话。
  • containerd.io:管理容器生命周期的容器运行时。
  • docker-buildx-plugin:Docker 的这个扩展增强了构建镜像的功能,主要侧重于多平台构建。
  • docker-compose-plugin:一个配置管理插件,可帮助使用单个 YAML 文件管理多容器 Docker 应用程序。

按“ Y ”确认。接下来,系统会要求您接受 Docker 仓库的 GPG 密钥,以便将其导入到您的 Alma 系统中。再次按“ Y ”确认。

在这里插入图片描述
现在,您可以启动 Docker 服务并将其配置为在系统启动时自动启动:

sudo systemctl enable --now docker

要确认 Docker 服务已启用并启动,请运行:

sudo systemctl status docker

在这里插入图片描述
我们来到了最激动人心的部分。让我们通过运行一个名为“hello-world”的简单容器化应用程序来测试我们新安装的Docker是否正常工作。

sudo docker run hello-world

在这里插入图片描述

dnf和yum的区别

dnfyum 的下一代版本管理器,主要用于 RPM 系 Linux 发行版(如 CentOS、RHEL、Fedora 等)。它们的作用一样,都是用于安装、更新、卸载软件包,但 dnfyum 的升级替代品,设计之初就是为了解决 yum 的一系列问题。

dnfyum 的“改进版”,具有更快的性能、更好的依赖处理、更强的插件机制和更现代的代码架构。你应该用 dnf,因为它更稳定、未来可持续、替代了 yum

🔍核心区别

特性 yum(老) dnf(新)
构建语言 Python 2 Python 3 + libsolv (C库)
依赖解析 自研逻辑,容易出错 使用 libsolv,依赖解析更快
插件机制 基于 Python 2 更现代、标准化插件架构
性能 较慢,资源开销大 更快,占用内存更小
API 稳定性 不稳定 提供稳定 API 供第三方调用
锁机制(事务冲突) 有事务锁,防止并发冲突
软件包缓存机制 手动清理 更智能的缓存机制

为什么 Fedora/CentOS 选择了 dnf?

✅ 现代化架构

  • yum 的代码老旧且基于 Python 2,维护难度大。
  • Python 2 已淘汰,dnf 使用 Python 3,便于持续维护。

✅ 更强的依赖解析

  • yum 依赖解析器很“笨”,复杂情况下可能报错或死锁。
  • dnf 使用 libsolv(由 SUSE 维护的解析库),速度快、准确性高。

✅ API 稳定

  • 第三方工具可以稳定地集成 dnf(如 Ansible、Cockpit 等)。

✅ 更智能的插件与缓存处理

  • dnf 的插件架构和缓存策略更好,比如自动清除缓存、插件隔离等。

💡 向下兼容性

  • 在 CentOS/RHEL 8+ 中,执行 yum 命令其实就是调用了 dnf,只是为了兼容老脚本。

    $ which yum
    /usr/bin/yum -> /usr/bin/dnf
    

🧪 示例:使用感几乎无差别

# 安装软件包
dnf install nginx
yum install nginx   # 等价于上面(新系统中)

# 升级所有包
dnf upgrade
yum update          # 等价(但 `dnf upgrade` 语义更清晰)

# 清除缓存
dnf clean all
yum clean all

网站公告

今日签到

点亮在社区的每一天
去签到