CentOS Stream 介绍与入门指南 – wiki基地


揭秘CentOS Stream:从介绍到入门的全面指南

引言:一场变革的浪潮

对于许多Linux用户,尤其是企业级应用的部署者和维护者来说,CentOS是一个熟悉且可靠的名字。它长期以来作为Red Hat Enterprise Linux (RHEL) 的下游(Downstream)免费版本,因其高度的兼容性、稳定性和企业级的特性而广受欢迎。然而,2020年底,CentOS项目宣布了一项重大变革:停止维护传统的CentOS Linux,并转向名为CentOS Stream的新发行版。这一变动在社区引发了广泛讨论,有人感到不安,也有人看到了新的机遇。

本文旨在全面介绍CentOS Stream,解释它在Red Hat生态系统中的定位,探讨它的优势与挑战,并提供一个详细的入门指南,帮助读者理解、安装和初步使用CentOS Stream,以便更好地应对这一变化,或者评估它是否适合您的需求。

第一部分:理解CentOS Stream——它是什么?为什么选择它?

1. CentOS Stream 的定义与定位

与传统的CentOS Linux(它是RHEL发布后,去掉商业特性并重新编译的下游版本)不同,CentOS Stream是一个上游(Upstream)的发行版。更准确地说,它是RHEL的“滚动预览”“开发分支”

想象一下软件开发的流程:

  • Fedora: 处于最上游,是一个快速迭代、包含最新技术和软件包的社区发行版。很多新特性首先在Fedora中孵化和测试。
  • CentOS Stream: 位于Fedora下游,但在RHEL的开发流程中处于上游位置。它包含了即将进入下一个RHEL小版本或大版本的功能和补丁。开发者和社区可以在RHEL正式发布之前,在这里看到、测试并贡献代码。
  • RHEL: 处于CentOS Stream的下游。Red Hat从CentOS Stream获取经过一定测试和稳定的代码,进行进一步的企业级加固、测试和认证,然后作为正式的RHEL版本发布。
  • 传统的CentOS Linux (已停产): 位于RHEL的下游。它是在RHEL发布后,将RHEL的源代码进行重新构建而成的。

关键区别:

  • CentOS Linux (旧): RHEL 发布 的结果。相对固定和稳定。
  • CentOS Stream: RHEL 发布 的一部分。是一个持续更新的、更接近RHEL开发前沿的版本。

您可以将CentOS Stream理解为一个连接 Fedora 的创新与 RHEL 的企业级稳定性之间的桥梁。它不是一个“最终产品”的免费版本,而是一个“正在开发中”的RHEL版本。

2. 为什么Red Hat要转向CentOS Stream?

停止维护广受欢迎的CentOS Linux并推广CentOS Stream,这一决策背后有Red Hat的战略考量:

  • 加速创新与反馈循环: 传统的模式下,RHEL发布后,CentOS社区才开始构建。这意味着社区反馈和测试通常发生在RHEL版本周期后期,对当前版本的RHEL影响有限。通过CentOS Stream,Red Hat可以在RHEL发布之前就获得大量的社区反馈、错误报告和功能测试,从而更快地发现和修复问题,加速RHEL的开发进程。
  • 提高透明度: CentOS Stream让社区更早地看到即将进入RHEL的代码变化,增加了RHEL开发过程的透明度。
  • 促进社区参与: 社区成员不仅可以测试即将发布的RHEL内容,还可以直接向CentOS Stream贡献代码,影响RHEL的未来版本。这使得CentOS Stream成为一个更具活力和互动性的项目。
  • 资源优化: 将资源集中到CentOS Stream这个单一的项目上,而不是同时维护下游的CentOS Linux,可以提高效率。

对于用户而言,这意味着:

  • 如果你追求的是像传统CentOS Linux那样的、经过长时间验证的、极度稳定的快照版本,CentOS Stream可能不是直接的替代品。
  • 如果你希望紧跟RHEL的开发步伐,能够提前体验新特性,愿意接受相对较低的稳定性(相比最终的RHEL版本),并且希望参与到企业级Linux的开发过程中,那么CentOS Stream是一个不错的选择。

第二部分:CentOS Stream 的优势与挑战

理解CentOS Stream的定位后,我们可以更客观地评估它的优缺点。

1. CentOS Stream 的优势 (Pros)

  • 更早接触新特性和更新: 作为RHEL的上游,CentOS Stream包含了比RHEL当前稳定版本更新的软件包和功能。这对于开发者、测试人员以及需要使用较新技术的用户非常有吸引力。
  • 影响RHEL的未来: 通过在CentOS Stream上测试、报告问题甚至贡献代码,用户可以直接参与并影响RHEL的开发方向和质量。这是一个从“使用者”转变为“贡献者”的机会。
  • 更接近RHEL的开发前沿: 对于希望深入了解RHEL如何构建、测试以及未来可能走向何方的用户,CentOS Stream提供了宝贵的视角。它是一个学习和实验RHEL生态系统的绝佳平台。
  • 适合开发和测试环境: 由于其“滚动预览”的特性,CentOS Stream非常适合用于构建开发、测试或staging环境。你可以在这里提前测试你的应用与即将发布的RHEL版本之间的兼容性。
  • 免费使用: CentOS Stream与传统的CentOS Linux一样,是免费的社区发行版,无需支付订阅费用。

2. CentOS Stream 的挑战与限制 (Cons)

  • 相对较低的稳定性(相较于RHEL稳定版本): CentOS Stream是一个开发中的版本,尽管Red Hat和社区会进行测试,但它不像正式发布的RHEL那样经过了严格的企业级质量保证和认证。它可能会包含一些尚未完全解决的Bug,更新也可能导致意想不到的问题。
  • 更新频率更高,可能缺乏预测性: 作为“滚动”发行版,CentOS Stream的更新会持续进行。虽然这带来了新特性,但也意味着系统状态变化更快,可能不如传统的、基于快照的发行版那样容易预测和管理。
  • 不适合作为对稳定性要求极高的生产环境基础(未加固或无额外支持): 对于那些要求极高稳定性和长期不变环境的关键生产系统,单纯使用CentOS Stream可能风险较高。因为它是一个开发分支,其主要目标是快速集成和测试新代码,而不是提供一个长期固定不变的、经过全面验证的平台。当然,有经验的用户可以通过额外的测试、监控和回滚策略来降低风险,但这需要更多的努力。
  • 文档可能稍微滞后: 由于更新速度较快,针对特定版本的文档可能不会像RHEL那样详尽和及时更新。社区文档是重要的补充来源。
  • 不是传统CentOS Linux的直接、无缝替代: 对于期望获得与CentOS Linux 7或8完全相同稳定性体验的用户,CentOS Stream的性质是不同的,需要调整期望和使用策略。

第三部分:CentOS Stream 适合谁?不适合谁?

基于上述的优劣势分析,我们可以更清晰地界定CentOS Stream的目标用户群体。

1. CentOS Stream 适合以下类型的用户:

  • 开发者和测试人员: 需要在接近未来RHEL环境的平台上开发和测试他们的应用,以便提前发现兼容性问题。
  • 希望了解RHEL开发流程和未来版本的用户: 对企业级Linux的内部运作感兴趣,希望学习RHEL生态系统。
  • 社区贡献者: 希望参与到企业级Linux的开发、测试和错误报告中,为RHEL做出贡献。
  • 非关键性服务器或内部服务: 如果你的服务器或服务对最新功能的需求高于对极度稳定性的要求,或者即使出现小问题也不会造成严重后果,CentOS Stream可以是一个选择。
  • 构建实验或学习环境: 需要一个免费且接近RHEL的平台来学习企业级Linux技术。
  • 作为向RHEL订阅迁移的准备: 如果未来计划使用RHEL订阅服务,CentOS Stream可以帮助你提前熟悉RHEL的软件包和环境。

2. CentOS Stream 不适合以下类型的用户:

  • 需要最高级别稳定性和可预测性的关键生产环境: 比如运行核心业务应用、银行系统、医疗系统等对稳定性要求极高的场景,尤其是在没有额外企业级支持的情况下。
  • 期望获得像CentOS Linux 7那样长期、固定、极少变化的快照版本: CentOS Stream是一个滚动更新的系统,其状态会持续变化。
  • 不希望或没有资源投入到测试和潜在问题排查的用户: 由于是开发分支,可能偶尔会遇到问题,需要一定的技术能力和时间来处理。
  • 寻求RHEL下游完全替代方案的用户: 传统的CentOS Linux是RHEL的下游二进制兼容版本,而CentOS Stream是RHEL的上游开发分支。如果你需要RHEL的下游版本,可以考虑如Rocky Linux或AlmaLinux等社区主导的、旨在提供1:1二进制兼容的发行版。

总而言之,CentOS Stream是一个非常有价值的项目,但它的价值体现在“开发”和“预览”上,而不是“最终发布”和“极致稳定”上。选择使用它之前,务必清楚它的定位和局限性。

第四部分:CentOS Stream 入门实践

本节将指导你如何获取、安装和进行CentOS Stream的基本配置。由于安装过程与传统的CentOS Linux或RHEL非常相似,我们将侧重于关键步骤和注意事项。

1. 获取 CentOS Stream 安装镜像

你可以从CentOS官方网站下载最新的CentOS Stream安装镜像(ISO文件)。

  • 访问 CentOS 官网下载页面:https://www.centos.org/download/
  • 选择你需要的架构,通常是 x86_64
  • 选择 “CentOS Stream”。
  • 你可以选择不同类型的镜像:
    • DVD ISO: 包含基础系统和许多常用软件包,无需联网即可完成大部分安装。文件较大。
    • Boot ISO (Minimal ISO): 只包含启动系统和安装程序,安装过程中需要联网下载大部分软件包。文件较小。
    • Stream 8 或 Stream 9: 目前主要提供这两个主版本。Stream 9 是更近的版本,基于RHEL 9 系列开发;Stream 8 基于RHEL 8 系列开发。根据你的需求选择。对于新安装,推荐使用 Stream 9。

下载合适的ISO文件到你的本地计算机。

2. 创建启动介质

下载ISO后,你需要将其写入USB闪存驱动器或DVD,以便从其启动计算机进行安装。

  • 使用USB驱动器 (推荐):
    • 在Windows上,可以使用Rufus或Etcher等工具。
    • 在macOS上,可以使用Etcher或dd命令。
    • 在Linux上,可以使用Etcher或dd命令。例如:sudo dd if=/path/to/CentOS-Stream-*.iso of=/dev/sdX status=progress bs=4M (请务必将 /path/to/CentOS-Stream-*.iso 替换为你的ISO文件路径,/dev/sdX 替换为你的USB驱动器设备名称,务必小心不要选错设备)。
  • 使用DVD: 使用刻录软件将ISO文件刻录到空白DVD上。

3. 开始安装 CentOS Stream

将创建好的启动介质插入目标计算机,并配置计算机从该介质启动(通常需要在BIOS/UEFI设置中调整启动顺序)。

  1. 启动安装程序: 从启动介质启动后,你会看到CentOS Stream的启动菜单。选择 “Install CentOS Stream”。
  2. 语言选择: 选择你喜欢的安装语言和键盘布局。点击 “Continue”。
  3. 安装概述 (Installation Summary): 这是安装过程中最重要的配置界面。你需要配置以下选项:

    • Localization (本地化):
      • KEYBOARD: 键盘布局。
      • LANGUAGE SUPPORT: 额外的语言支持。
      • TIME & DATE: 选择时区。
    • Software (软件):
      • SOFTWARE SELECTION: 选择安装的基础环境。对于服务器,通常选择 “Server” 或 “Minimal Install”。如果你需要桌面环境,可以选择 “Workstation” 或带有GUI的Server。注意: Minimal Install 会安装最少量的软件包,你需要手动安装所需的工具。
      • INSTALLATION SOURCE: 默认是本地介质。如果你使用Boot ISO,这里会提示需要联网获取软件源。
    • System (系统):
      • INSTALLATION DESTINATION: 分区设置。 这是关键步骤。你可以选择自动分区,也可以选择自定义分区。对于初学者或非关键系统,自动分区通常足够。对于服务器或需要精细控制,选择自定义分区,并建议至少创建 / (根目录), /home, swap 分区。确保选择了正确的磁盘。
      • NETWORK & HOST NAME: 配置网络连接(静态IP或DHCP)和设置主机名。务必启用网络适配器,尤其如果你使用了Minimal ISO或需要在安装后立即访问网络。
      • SECURITY POLICY (可选): 配置系统安全策略。
      • CONNECT TO RED HAT (可选): 用于注册RHEL系统,CentOS Stream不需要此步骤。
    • User Settings (用户设置):
      • ROOT PASSWORD: 设置root用户的密码。务必设置一个强密码。
      • USER CREATION: 创建一个普通用户账号。建议创建一个普通用户进行日常操作,而不是直接使用root用户。
  4. 配置完成并开始安装: 完成所有必要的配置后(带有警告符号的项必须配置),点击右下角的 “Begin Installation” 按钮。

  5. 安装过程: 安装程序将开始复制文件和安装软件包。这个过程可能需要一些时间,具体取决于你选择的软件以及是否需要从网络下载。
  6. 安装完成: 安装完成后,点击 “Reboot System” 按钮重启计算机。记得移除安装介质。

4. 初步配置和基本使用

系统重启后,你会进入CentOS Stream的登录界面(取决于你是否安装了桌面环境)。

  1. 登录: 使用你在安装过程中创建的用户账号或root账号登录。
  2. 更新系统: 作为CentOS Stream,保持系统最新是非常重要的,因为它是一个滚动更新的发行版。打开终端,使用dnf命令更新系统:
    bash
    sudo dnf update -y

    这个命令会下载并安装所有可用的更新。-y 选项会自动确认所有提示。
  3. 安装常用工具 (如果使用了Minimal Install): 如果你选择了Minimal Install,你可能需要手动安装一些常用工具,例如网络工具、编辑器等:
    bash
    sudo dnf install epel-release # 安装EPEL仓库 (可选但推荐,提供额外软件包)
    sudo dnf install nano vim wget curl net-tools htop # 安装一些基本工具
  4. 网络配置验证: 确认网络连接正常。
    bash
    ip addr show # 查看IP地址
    ping google.com # 测试网络连通性

    如果网络不通,检查 /etc/sysconfig/network-scripts/ifcfg-<你的网卡名称> 文件或使用 nmtui (NetworkManager Text User Interface) 工具进行配置。
  5. 防火墙配置: CentOS Stream默认启用firewalld。了解如何管理防火墙规则:
    bash
    sudo systemctl status firewalld # 查看防火墙状态
    sudo firewall-cmd --list-all # 列出当前所有规则
    sudo firewall-cmd --zone=public --add-service=ssh --permanent # 允许SSH服务 (如果你需要从远程连接)
    sudo firewall-cmd --reload # 重新载入防火墙规则
  6. SSH服务 (远程连接): 对于服务器,通常需要启用SSH服务以便远程管理。SSH服务通常默认已安装并启动。确保防火墙允许SSH连接。
    bash
    sudo systemctl status sshd # 检查sshd服务状态
    sudo systemctl enable sshd # 设置sshd开机自启
    sudo systemctl start sshd # 立即启动sshd (如果未启动)
  7. 探索 dnf 包管理器: dnf 是CentOS Stream主要的软件包管理器,它取代了yum。学习一些常用的dnf命令:
    bash
    sudo dnf search <软件包名称> # 搜索软件包
    sudo dnf info <软件包名称> # 查看软件包信息
    sudo dnf install <软件包名称> # 安装软件包
    sudo dnf remove <软件包名称> # 卸载软件包
    sudo dnf list installed # 列出已安装的软件包
    sudo dnf list available # 列出可用的软件包
    sudo dnf history # 查看软件包操作历史
  8. 查阅文档和社区资源: CentOS Stream的官方文档、CentOS Wiki、邮件列表、IRC/Matrix频道是获取帮助和了解最新信息的重要来源。

第五部分:CentOS Stream 与其他发行版的对比

为了更好地理解CentOS Stream,将其与一些相关的Linux发行版进行比较是很有帮助的。

1. CentOS Stream vs. 传统的 CentOS Linux (已停产)

  • 定位: Stream 是 RHEL 的上游开发分支;传统 CentOS 是 RHEL 的下游稳定快照。
  • 更新模式: Stream 是滚动更新;传统 CentOS 是基于 RHEL 小版本发布的快照,更新频率较低。
  • 稳定性: Stream 相对不稳定(是预览);传统 CentOS 经过 RHEL 的完整 QA,非常稳定。
  • 未来: Stream 是 CentOS 项目的未来;传统 CentOS 已经停止维护(CentOS 8 已EOL,CentOS 7 EOL于2024年)。

2. CentOS Stream vs. Red Hat Enterprise Linux (RHEL)

  • 定位: Stream 是 RHEL 的上游;RHEL 是 Stream 的下游。
  • 更新内容: Stream 包含的功能通常比当前 RHEL 版本新;RHEL 是经过全面测试、认证和企业级加固的版本。
  • 稳定性与支持: RHEL 提供长期、稳定的版本和付费的企业级支持(包括补丁、安全更新、技术支持等);Stream 是社区驱动的,没有官方的企业级支持合同,稳定性相对较低。
  • 目标用户: Stream 适合开发者、测试者、贡献者、非关键环境;RHEL 适合需要商业支持和最高级别稳定性的关键生产环境。

3. CentOS Stream vs. Fedora

  • 定位: Fedora 是 RHEL 的最上游,是一个快速迭代、实验性强的社区发行版;Stream 是 RHEL 的上游,但位于 Fedora 和 RHEL 之间,专注于作为 RHEL 的开发分支。
  • 更新频率: Fedora 通常比 Stream 更新更快,包含更前沿的技术和软件包。
  • 稳定性: 两者都属于开发/测试性质,都不如 RHEL 稳定,但 Fedora 更具实验性。
  • 用途: Fedora 更适合桌面用户、开发者以及那些想第一时间体验最新开源技术的人;Stream 更侧重于作为 RHEL 的开发和测试平台。

4. CentOS Stream vs. Rocky Linux / AlmaLinux / 等 RHEL 重建版

  • 定位: 这些发行版旨在成为传统的 CentOS Linux 的替代者,提供与 RHEL 1:1 的二进制兼容性。它们是 RHEL 的下游。
  • 更新模式: 它们也是基于 RHEL 发布后,重新编译构建,提供稳定、长期的支持版本(与 RHEL 的生命周期相似)。
  • 与 RHEL 的关系: 这些发行版是 RHEL 的下游克隆;Stream 是 RHEL 的上游源。
  • 目标用户: 它们更适合那些需要免费、稳定、与 RHEL 高度兼容的生产环境用户。

5. CentOS Stream vs. Ubuntu LTS

  • 生态系统: CentOS Stream 属于 RHEL/Fedora 生态系统,使用 RPM 包管理器 (dnf);Ubuntu 属于 Debian 生态系统,使用 APT 包管理器 (apt)。
  • 版本类型: Stream 是滚动预览;Ubuntu LTS (Long Term Support) 是基于快照的长期支持版本。
  • 稳定性: Ubuntu LTS 是经过广泛测试的稳定版本,适合生产环境;Stream 是开发分支,稳定性相对较低。
  • 软件包: 软件包的命名、版本和可用性不同。

理解这些差异有助于你根据自己的需求选择最合适的Linux发行版。CentOS Stream并非适用于所有原CentOS Linux的场景,但它在特定的用途下具有独特的价值。

第六部分:社区与支持

CentOS Stream作为一个社区驱动的项目,社区是其生命线。

  • 官方网站: https://www.centos.org/ 提供最新的信息、下载链接和文档资源。
  • 邮件列表: CentOS 项目有多个邮件列表,用于讨论不同的主题,如开发、用户支持、公告等。这是获取帮助和参与讨论的主要方式。
  • Wiki: https://wiki.centos.org/ 包含大量的文档、指南和常见问题解答。
  • IRC/Matrix: 在 freenode 或 Matrix 上有相关的频道,可以进行实时交流。
  • Bug Tracking: 可以通过 Bugzilla 报告你在 CentOS Stream 中遇到的问题。
  • 贡献: 如果你有兴趣,可以参与到 CentOS Stream 的代码贡献、测试、文档编写等方面。

需要注意的是,CentOS Stream没有官方的商业支持合同。你遇到的问题主要依靠社区的帮助来解决。对于企业级应用,如果需要SLA级别的支持,那么RHEL是更合适的选择。

第七部分:未来展望

CentOS Stream作为RHEL开发流程中的一个重要环节,其地位在Red Hat的战略中已经确立。它将继续作为连接Fedora和RHEL的桥梁,承载着RHEL未来版本的预览和社区贡献的功能。

虽然传统CentOS Linux的结束让一些用户转向了AlmaLinux或Rocky Linux等重建版,但CentOS Stream仍然是Red Hat主导的、直接影响RHEL的唯一免费发行版。对于那些希望深入了解RHEL技术、参与其开发或在非关键环境中使用较新RHEL特性的用户来说,CentOS Stream将是首选。

它的未来发展将紧密跟随RHEL的开发节奏,持续集成新的技术和软件包。社区的参与度将是衡量其活力的重要指标。

结论

CentOS Stream 是 Red Hat Enterprise Linux 开发流程中的一个重要组成部分,它扮演着 RHEL “滚动预览”和上游开发分支的角色。它不是传统 CentOS Linux 的简单替代品,两者在定位、稳定性、更新模式和目标用户上存在显著差异。

通过 CentOS Stream,用户可以更早地接触到 RHEL 的新特性,参与到企业级 Linux 的开发过程中,并在一个接近未来 RHEL 的环境中进行开发和测试。然而,它并非为对稳定性有极致要求的关键生产环境而设计,用户需要权衡其优势与挑战。

如果你是一个开发者、测试者,希望提前体验 RHEL 的未来,或者乐于参与社区贡献,那么 CentOS Stream 是一个非常有价值的选择。如果你寻求的是像传统 CentOS Linux 那样的免费、稳定、长期支持的生产环境基础,那么 AlmaLinux 或 Rocky Linux 等 RHEL 重建版可能更适合你。

理解 CentOS Stream 的真正含义和定位,是做出明智选择的第一步。希望本文能帮助你揭开 CentOS Stream 的神秘面纱,并为你迈出第一步提供清晰的指引。拥抱变化,探索新的机遇,Linux 的世界永远充满活力。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部