CentOS Stream:全面介绍与入门指南

CentOS Stream:全面介绍与入门指南

在开源操作系统领域,CentOS Linux 长期以来一直是企业级服务器环境的首选之一。然而,随着 Red Hat 公司(CentOS 的赞助商)在 2020 年底宣布 CentOS Linux 8 将于 2021 年底停止维护,并将重心转向 CentOS Stream,开源社区迎来了一次重大的转变。本文将深入探讨 CentOS Stream,为您提供一个全面的介绍和入门指南。

1. CentOS Stream 的前世今生:从 CentOS Linux 到 CentOS Stream

要理解 CentOS Stream,我们需要先回顾一下它的前身 CentOS Linux。

1.1 CentOS Linux:稳定、可靠的企业级选择

CentOS Linux 是一个基于 Red Hat Enterprise Linux (RHEL) 源代码的社区发行版。它通过移除 RHEL 中的商标和专有组件,并重新编译源代码,提供了一个与 RHEL 二进制兼容的免费操作系统。这意味着,为 RHEL 开发的应用程序通常可以直接在 CentOS Linux 上运行,无需修改。

CentOS Linux 的主要优势在于:

  • 稳定性: CentOS Linux 遵循 RHEL 的发布周期,经过严格的测试,提供了高度的稳定性。
  • 长期支持: 每个 CentOS Linux 版本都提供长达 10 年的支持,包括安全更新和错误修复。
  • 免费: CentOS Linux 是完全免费的,无需支付任何许可费用。
  • 社区支持: 拥有庞大的用户和开发者社区,可以提供帮助和支持。

这些特性使得 CentOS Linux 成为服务器、数据中心和云计算环境的理想选择。

1.2 CentOS 项目的转变:CentOS Stream 的诞生

2020 年 12 月,Red Hat 公司宣布了一项重大决定:

  • CentOS Linux 8 的支持周期将缩短至 2021 年底(原计划是 2029 年)。
  • CentOS 项目的重心将转移到 CentOS Stream。

这一决定在社区引起了广泛的争议和担忧。许多用户担心 CentOS Stream 无法提供与 CentOS Linux 相同的稳定性和长期支持。

1.3 CentOS Stream:RHEL 的上游滚动发布

那么,CentOS Stream 究竟是什么呢?

CentOS Stream 是一个滚动发布的 Linux 发行版,它位于 Fedora(RHEL 的上游社区发行版)和 RHEL 之间。可以将其视为 RHEL 的“开发预览版”或“持续集成”版本。

  • Fedora: 社区驱动,快速引入新特性和技术,但可能不够稳定。
  • CentOS Stream: 滚动发布,介于 Fedora 和 RHEL 之间,提供相对较新的软件包,同时保持一定的稳定性。
  • RHEL: 企业级,稳定、可靠,提供长期支持。

CentOS Stream 的工作流程如下:

  1. 新的软件包和功能首先在 Fedora 中进行开发和测试。
  2. 经过 Fedora 社区验证的软件包和功能会被引入 CentOS Stream。
  3. CentOS Stream 中的软件包和功能经过进一步的测试和验证后,会被纳入 RHEL 的下一个小版本或大版本。

1.4 CentOS Stream 的定位

CentOS Stream 的目标是:

  • 为 RHEL 的开发提供一个透明开放的平台。
  • 让社区能够更早地参与 RHEL 的开发过程。
  • 为用户提供一个持续交付的操作系统,可以更快地获取新特性和改进。

2. CentOS Stream 的优势与劣势

CentOS Stream 作为一种新的发行版模型,有其自身的优势和劣势。

2.1 优势

  • 更快的更新: 滚动发布模式意味着您可以更快地获得新的软件包、功能和安全更新。
  • 参与 RHEL 开发: 您可以更早地体验 RHEL 的新特性,并向 Red Hat 反馈您的意见和建议。
  • 透明的开发过程: CentOS Stream 的开发过程是完全公开的,您可以了解 RHEL 的未来发展方向。
  • 免费: 与 CentOS Linux 一样,CentOS Stream 也是免费的。

2.2 劣势

  • 稳定性风险: 滚动发布模式可能会带来一定的稳定性风险,因为新的软件包和功能可能没有经过充分的测试。
  • 较短的支持周期: CentOS Stream 的支持周期相对较短,通常与 RHEL 的下一个小版本发布同步。
  • 不适合关键业务系统: 对于需要高度稳定性和长期支持的关键业务系统,CentOS Stream 可能不是最佳选择。

3. CentOS Stream 适用场景

CentOS Stream 适合以下场景:

  • 开发和测试环境: 您可以使用 CentOS Stream 来测试您的应用程序在 RHEL 上的兼容性,并提前适应 RHEL 的新特性。
  • 持续集成/持续交付 (CI/CD) 平台: CentOS Stream 的滚动发布模式非常适合 CI/CD 平台,可以确保您的应用程序始终基于最新的软件包进行构建和测试。
  • 桌面或工作站: 如果您喜欢尝试新的技术,并且不介意偶尔遇到一些小问题,CentOS Stream 也可以作为桌面或工作站操作系统。
  • 教育和研究: CentOS Stream 可以让学生和研究人员更早地接触到 RHEL 的最新技术。

CentOS Stream 不适合以下场景:

  • 生产环境中的关键业务系统: 对于需要高度稳定性和长期支持的关键业务系统,RHEL 或其他企业级 Linux 发行版(如 AlmaLinux、Rocky Linux)是更安全的选择。

4. CentOS Stream 入门指南

如果您决定尝试 CentOS Stream,以下是一些入门指南:

4.1 下载 CentOS Stream

您可以从 CentOS 官方网站下载 CentOS Stream 的 ISO 镜像文件:

https://www.centos.org/download/

CentOS Stream 提供多种版本,包括:

  • CentOS Stream 8: 基于 RHEL 8 的滚动发布版本。
  • CentOS Stream 9: 基于 RHEL 9 的滚动发布版本。

建议选择与您计划使用的 RHEL 版本相对应的 CentOS Stream 版本。

4.2 安装 CentOS Stream

CentOS Stream 的安装过程与 CentOS Linux 非常相似。您可以使用 ISO 镜像文件创建启动盘(U 盘或 DVD),然后按照屏幕上的提示进行安装。

安装过程中,您需要选择:

  • 安装类型: 可以选择服务器、最小安装、工作站等。
  • 分区: 可以手动分区或使用自动分区。
  • 网络配置: 配置网络接口、IP 地址、DNS 等。
  • root 密码: 设置 root 用户的密码。
  • 创建用户: 创建一个普通用户。

4.3 安装后的配置

安装完成后,您可能需要进行一些基本的配置:

  • 更新系统:

    bash
    sudo dnf update

    * 安装常用工具:

    bash
    sudo dnf install -y vim wget curl net-tools

    * 配置防火墙:

    bash
    sudo systemctl enable firewalld
    sudo systemctl start firewalld
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload

    * 配置 SSH:

    bash
    sudo systemctl enable sshd
    sudo systemctl start sshd

    * 安装 EPEL 仓库:

    bash
    sudo dnf install -y epel-release

    EPEL (Extra Packages for Enterprise Linux) 仓库提供了许多额外的软件包。
    * 安装图形化界面(可选):
    bash
    sudo dnf groupinstall "Server with GUI" -y
    sudo systemctl set-default graphical

    4.4 软件包管理

CentOS Stream 使用 DNF (Dandified Yum) 作为软件包管理器。DNF 是 Yum 的下一代版本,提供了更好的性能和依赖关系解析。

常用的 DNF 命令:

  • 搜索软件包:

    bash
    dnf search <package_name>

    * 安装软件包:

    bash
    dnf install <package_name>

    * 删除软件包:

    bash
    dnf remove <package_name>

    * 更新软件包:

    bash
    dnf update <package_name>

    * 列出已安装的软件包:

    bash
    dnf list installed

    * 列出可用的软件包:

    bash
    dnf list available

    * 查看软件包信息:

    bash
    dnf info <package_name>

    * 清理缓存:
    bash
    dnf clean all

4.5 系统管理

CentOS Stream 使用 systemd 作为 init 系统和服务管理器。systemd 提供了强大的功能,可以管理系统服务、启动过程、日志等。

常用的 systemctl 命令:

  • 启动服务:

    bash
    systemctl start <service_name>

    * 停止服务:

    bash
    systemctl stop <service_name>

    * 重启服务:

    bash
    systemctl restart <service_name>

    * 查看服务状态:

    bash
    systemctl status <service_name>

    * 设置服务开机自启:

    bash
    systemctl enable <service_name>

    * 禁止服务开机自启:

    bash
    systemctl disable <service_name>

    * 查看系统日志
    bash
    journalctl -xe

5. CentOS Stream 与 CentOS Linux 的主要区别

特性 CentOS Linux CentOS Stream
发布模式 定期发布 滚动发布
定位 RHEL 的下游,二进制兼容 RHEL 的上游,持续集成
更新 较慢,主要提供安全更新和错误修复 较快,提供新特性和改进
稳定性 相对较低
支持周期 长达 10 年 较短,与 RHEL 的下一个小版本发布同步
适用场景 生产环境中的关键业务系统 开发、测试、CI/CD 平台、桌面/工作站、教育/研究

6. CentOS Stream 的替代方案

如果您对 CentOS Stream 的稳定性或支持周期不满意,可以考虑以下替代方案:

  • AlmaLinux: 由 CloudLinux 团队开发的 RHEL 克隆版,提供 1:1 的二进制兼容性,并承诺长期支持。
  • Rocky Linux: 由 CentOS 项目的创始人 Gregory Kurtzer 创建的 RHEL 克隆版,同样提供 1:1 的二进制兼容性,并承诺长期支持。
  • Oracle Linux: 由 Oracle 公司提供的 RHEL 克隆版,提供免费下载和使用,但可以选择付费支持。
  • RHEL 开发者订阅: 对于个人开发者或小型团队,Red Hat 提供了免费的 RHEL 开发者订阅,可以用于开发和测试目的。

7. 总结

CentOS Stream 是 CentOS 项目的一次重大转变,它从一个 RHEL 的下游克隆版转变为一个 RHEL 的上游滚动发布版本。这种转变带来了更快的更新速度和更紧密的社区参与,但也牺牲了一些稳定性和长期支持。

在选择 CentOS Stream 之前,您需要仔细评估您的需求和风险承受能力。如果您需要一个稳定、可靠、长期支持的操作系统,那么 RHEL 或其他企业级 Linux 发行版可能是更好的选择。如果您希望参与 RHEL 的开发过程,或者需要一个持续交付的平台,那么 CentOS Stream 可能是一个值得尝试的选择。

THE END