Linux 衍生与 CentOS 的兴衰史

写在前面

我是一名软件工程专业的毕业生,在我的学生时期,我曾多次使用 CentOS 系统,在它身上投入了大量时间,甚至我的毕业论文也与此相关。毕业之后,我已经许久没有接触过服务器相关的内容了。直到最近,才听闻了 RedHat 收购 CentOS 的 “新闻”,在感叹时过境迁的同时,我也想要好好回顾一下曾经的这位 “老伙计”,并思考一下自己未来该何去何从、用什么操作系统来代替 CentOS 才好。

为了让这篇文章在严谨叙述的同时更通俗易懂,我将会花费较多的笔墨阐述一些相对 “基础” 的概念。如有错误,欢迎指正。

希望阅读这篇文章的你能拥有一个美好的体验 :)

—— 本文作者:深空之影网络工作室·林空

目录

写在前面

简述 Linux

Linux 简介

Linux 衍生

Debian

Ubuntu

RedHat

Rocky

CentOS 的兴衰史

CentOS 介绍

CentOS 的发展

CentOS 的 “衰落”


简述 Linux

Linux 简介

简单来说,Linux 就是一个操作系统 内核

  • 完整的操作系统由两大部分组成:内核用户空间
  • 内核 主要负责管理计算机系统的 硬件资源,而 用户空间 负责管理 软件资源

 内核 按架构可分为 宏内核微内核,而 Linux 就是一个采用 宏内核架构 的典型

  • 宏内核 (Monolithic Kernel):将所有操作系统服务集成在 内核空间 中 (如 进程管理内存管理文件系统等),包含了 时钟管理中断处理原语系统资源管理 等功能
  • 宏内核架构 使得 系统服务 之间的通信更加高效,它们可以直接在内核空间进行交互,而不需要通过用户空间的接口

我们通常说,Linux 系统 是基于 Unix 操作系统开发的,是一个 “类 Unix” 操作系统


Linux 是 开源

其采用的 GPL协议 正是 Linux 及其衍生的操作系统 开源 的关键所在

GPL(GNU通用公共许可证,General Public License):一种广泛使用的自由软件许可证,由自由软件基金会(FSF)发布,旨在确保软件的自由使用、修改和分发

GPL协议 的核心原则包括:

  • 自由复制:允许无限制地复制和分发软件
  • 自由获取源代码:要求分发软件时必须提供源代码,或明确告知如何获取源代码
  • 自由修改:允许用户修改软件并根据GPL重新分发修改后的版本
  • 复制左原则 (Copyleft):如果软件中包含了遵循GPL的代码,那么整个软件也必须按照GPL许可证分发,确保了自由的传递性

也就是说,如果一个操作系统选择使用 Linux 作为内核,那么它 (包括它的衍生系统) 也必须和 Linux 一样,以 GPL 许可进行发布,就像会“传染”一样

综上所述,Linux 是一个 开源 的、基于 Unix 的操作系统 内核,采用 宏内核 架构

Linux 衍生

Linux 自1991年面世至今,已衍生出了非常多的 “发行版” 操作系统

这些 发行版 都使用 Linux 作为 内核,区别在于,不同的 发行版 为用户另外提供了一套不同的 用户空间 程序

  • 用户空间:包括 命令行工具、桌面环境、办公软件、网页浏览器 等

 正如前文所说,内核+用户空间程序 共同组成了一个完整的操作系统环境


这是一张操作系统衍生示意图,图中列举了一些主流的 Linux 发行版操作系统:

 下面对几个主要的 Linux 发行版 进行简要的介绍和分析

Debian

全称 Debian GNU

作为最早的 Linux 发行版之一,Debian 凭借其 稳定性、易用性 以及广泛的  硬件知识 而备受好评;Debian 还包含丰富的软件仓库,拥有将近六万个软件包,能够满足几乎所有个人和企业的需求

Debian 使用自主开发的 包管理工具 apt 来 安装、卸载、更新 和 管理软件包

  • apt:属于高层工具,其底层为 dpkgapt 在用户和 dpkg 之间提供了一个抽象层,通过调用 dpkg 间接与 Debian 软件包格式 (.deb) 打交道
  • apt 可以直接从远程软件仓库下载并安装软件包,同时自动解决软件包的依赖问题,进一步简化了软件安装的复杂度
  • apt 通常用于软件包格式为 .deb 的系统

根据功能和作用的不同,Debian 一共有三种类型的发行版本:

  • 稳定版 (Stable):采用 传统升级 的方式,每两年发布一次,并在发布后提供长达五年的支持;推荐在生产环境中使用
  • 测试版 (Testing):即将成为下一个 稳定版 的版本,采用 滚动升级 的方式;适用于需要使用新的软件包、同时又需要一定稳定性的个人开发环境
  • 不稳定版 (Unstable):处于最活跃的开发状态,包含了大量最新的、未经广泛测试的软件包,采用 滚动升级 的方式;通常只推荐开发者使用

传统升级

  • 软件更新周期固定
  • 较滚动升级更具有稳定性和安全性
  • 但正因为更新周期固定,在两次更新之间可能会累积大量的安全补丁和修复,存在潜在风险;一旦新版本发布,旧版本可能很快停止支持,迫使用户尽快升级
  • 适用于需要高度稳定性和可预测性的用户,尤其是企业环境

滚动升级 (Rolling Release)

  • 软件包和系统组件会持续更新
  • 可以更快地提供安全补丁,具有很大的灵活性
  • 在更新初期可能会遇到 bug 或不稳定的情况
  • 适用于愿意接受一定风险以换取最新功能和改进的用户,以及那些能够自行管理更新并解决可能出现的问题的用户

Ubuntu

基于 Debian 开发,是众多 Linux 初学者最先接触的一款发行版

Ubuntu 以其 便捷的操作、友好的用户体验、丰富的软件库 、广泛的硬件支持 和 活跃的社区,迅速成为全球最流行的 Linux 发行版之一

作为 Debian 的发行版,Ubuntu 和 Debian 一样,采用 apt 来管理软件包

Ubuntu 按其支持周期,大致可分为两个版本,它们都采用 传统升级 的方式:

  • 普通版:每六个月发布一个新版本 (即每年 4 月和 10 月发布),并为每个版本提供九个月的支持和更新
  • 长期支持版 (LTS):与 Debian 一样,每两年发布一个新版本 (在发布年的 4 月),并为其提供长达五年的支持和更新;适用于需要长期稳定环境的企业和服务器

RedHat

全称 Red Hat Enterprise Linux (RHEL)

RHEL 凭借其卓越的 稳定性、可靠性 以及 安全性,被广泛应用在一些 大型企业、跨国公司、金融机构、政府公共部门,甚至是 国防和安全等重要机构部门

RHEL (及其衍生版) 通常使用 yumdnf 来对软件包进行管理

  • yum:属于高层工具,其底层为 rpm,通常用于软件包格式为 .rpm 的系统
  • dnf:是 yum 的下一代包管理器,旨在替代 yum 并解决一些性能和依赖处理的问题

RHEL 采用 传统升级 的方式,每 3-4 年发布一个 大版本,并为每个大版本提供长达十年的支持

同时,为了持续确保系统的 稳定性 和 安全性,RHEL 会在每个大版本的生命周期内发布多个 小版本 (通常包含系统的安全更新、错误修复和硬件支持等改进),小版本为每六个月发布一次 (即每年 5 月和 11 月发布)

与其他 Linux 发行版不同,RHEL 是一款 商业 操作系统

  • RHEL 本身是开源的,RedHat 售卖的并不是 RHEL 系统本身,而是提供的企业级的服务,包括 技术支持、安全更新、漏洞修复、补丁管理、系统升级、培训课程 等一系列服务
  • Red Hat 采用订阅模式对外销售它的服务,只有购买了订阅的用户才能在安装的 RHEL 系统上享受这些服务

操作系统支持时间有什么价值?

很多人可能没有意识到,所谓的操作系统支持 xx 年结束到底意味着什么

这有可能和国内用盗版用的多没有这种意识有点关系

操作系统的支持,意味着在 Bug 上,安全上的一些修复与补丁的支持,这是最重要的

对于服务器操作系统来说,任何一个小的安全上的漏洞,可能损失都是难以预估的

这也是RHEL的生存之道,它开源了自己的代码,但还是有很多公司会购买它的服务,购买的其实的是它的支持,那些公司相信开发出RHEL的团队与公司能更好的保障操作系统的稳定与安全,在出问题时能更快的修复

—— 本段引用自从CentOS 8到CentOS Stream,到底发生什么事了?-腾讯云开发者社区-腾讯云


Rocky

和原先的 CentOS 一样,Rocky 也是基于 RHEL 开发的

Rocky 由 CentOS 项目的创始人之一 Gregory Kurtzer 领导开发,旨在与 RHEL 实现 100% 的兼容性;它的出现是为了延续 CentOS 作为稳定、可预测的企业级操作系统的精神

从某种程度上来说,Rocky 可以看作是 “重生” 的 CentOS ,Rocky Linux 8 与 CentOS 8 保持高度的兼容性,用户可以无缝迁移 CentOS 8 上的应用程序和数据到 Rocky Linux 8上

作为 RHEL 的发行版,Rocky 使用 dnf 作为默认的包管理器,但 yum 命令仍可以使用

CentOS 的兴衰史

CentOS 介绍

CentOS 是基于 RHEL 的 Linux 发行版本,稳定、安全,并可靠

相较于其他发行版,CentOS 在国内有着较大规模的使用;小到个人开发者,大到企业、公司,CentOS 在其中都有着一席之地

CentOS 采用 传统升级 的更新方式,新版本的发布时间通常与 RHEL 的版本发布周期紧密相关

CentOS 的发展

  • CentOS 起源于 2004 年,由 Gregory Kurtzer 和其他社区成员共同发起,旨在创建一个免费且开源的操作系统,它尽可能地与 RHEL 兼容,但不受商业许可的限制

  • CentOS 的第一个版本 CentOS 1.3 于 2005 年发布,是基于 RHEL 3.0 版本构建的

  • CentOS 5 于 2007 年发布,由此开始支持 x86_64 架构,并集成了SELinux

  • CentOS 6 于 2011 年发布,引入了对更多硬件的支持,改进了系统管理和安全性,同时提供了更长的支持周期

  • CentOS 7 于 2014 年发布,改进了软件包管理,开始支持 SystemD,并对系统性能和安全性进行了优化;作为使用范围最广的 CentOS 版本,CentOS 7 已于 2024 年 6 月 31 日停止维护

  • CentOS 8 于 2019 年发布,作为最后一任 RHEL 的复刻版,CentOS 8 的生命周期异常短暂,原本预定 2029 年结束的支持,现已于 2021 年 12 月 31 日停止维护

CentOS 的 “衰落”

CentOS 的最新版本是 CentOS 8,但其后续版本却不是 CentOS 9,而是 Red Hat 推出的新概念—— CentOS Stream 9

其实早在 2014 年,CentOS 项目就被 RedHat 所收购,社区的核心成员也被吸纳;起初,RedHat 表示 CentOS 项目继续由原来的委员会制作,不会对管理工作插手;然而在 2020 年 12 月,CentOS 官方宣布,CentOS 项目将不再更新;至此,CentOS 8 成为了 CentOS 的最后一个版本

正如下图所示,相较于 CentOS 原本 RHEL 复刻版的角色,CentOS Stream 事实上是 RHEL 构建之前的开发版

Fedora 一直是 RHEL 的上游开发版本;也就是说,通常新功能都是先在 Fedora 上发布,经过使用验证稳定后,才发布到 RHEL 中

CentOS 作为最后一个阶段的复刻版本,相较于 RHEL 来说更加稳定可靠

而 CentOS Stream 的定位是 “RHEL 上游开发版本”;更重要的一点是,CentOS Stream 采用 滚动升级 的更新方式

这意味着,CentOS Stream 并不是一个稳定的生产版本

也许,CentOS Stream 更适合那些愿意接受频繁更新并能够处理由此带来的变化的用户吧 :P

结合多种因素考虑,我最终决定选用 Rocky 作为 CentOS 的替代,进行服务器相关的研究

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值