CentOS 与 Ubuntu

2025年3月17日 | 阅读13分钟

CentOS 简介

CentOS 是一个 Linux 发行版,它提供了一个免费且由社区支持的计算环境,在功能上与上游版本 (Red Hat Enterprise Linux) 兼容。
CentOS 在一个由 CentOS 组成的新的管理委员会下,通过 RHEL 保持独立,并与 Red Hat 正式合并。

CentOS 的第一个版本发布于 2004 年 5 月,当时称为 CentOS 2 版本。

  • 它是基于 RHEL2.1AS 版本进行分支的。从 8 版本开始,CentOS 正式支持 POWER8、ARM64x86-64 架构
  • 此外,直到 6 版本发布的架构 IA-32 也得到了支持。截至 2015 年 12 月,CentOS AltArch 版本可用于 Power ISA、IA-32 架构以及 ARM 架构的 AArch64 和 ARMv7hl 变体。
  • CentOS 8 版本于 2019 年 9 月 24 日发布。
  • 2020 年 12 月,Red Hat 单方面终止了 CentOS 的开发。
  • 然而,Red Hat 将继续支持滚动更新版本(CentOS Stream)的相应发行版。
  • Gregory Kurtzer(CentOS 的创始人)发起了 **Rocky Linux** 项目,作为真正 CentOS 使命的继承者。
  • Cloud Linux(CloudLinux OS 的制造商)于 2021 年 3 月 30 日发布了一个新的 **RHEL** 衍生版,称为 **AlmaLinux**。

CentOS 历史

2002 年,CentOS 以 **CAOS** Linux 构建的形式创建,这是一个由 **Gregory Kurtzer** 发起的基于 RPM 的 Linux 发行版。Innfiscale 将其 **GravityOS** 定义为 Caos 的小型足迹,代表了对已停产发行版的一定程度的影响。

2006 年 6 月, **Tao Linux** 的主要开发者 **(David Parsley)** 宣布 Tao Linux 退休,并将其开发整合到 CentOS 中。Tao 的用户通过 yum update 迁移到了 CentOS 版本。

2010 年 7 月,CentOS 曾超越 Debian 成为最流行的 Linux 服务器发行版,占所有 Linux 服务器的 30%。之后,在 2012 年 1 月,Debian 重新夺回了领先地位。

Red Hat 的员工兼 CentOS 管理委员会代表于 2020 年 12 月 8 日宣布,CentOS 社区将“将重心转移”到 CentOS Stream,而不是经典的 Linux。

社区对这一公告的初步反应压倒性地负面。

不久之后,CentOS 的创始人 (Gregory Kurtzer) 宣布了一个新项目,旨在延续 CentOS 的原始目标,该项目后来被命名为 **Rocky Linux**。CloudLinux OS 的制造商 (Cloud Linux) 于 2021 年 3 月 30 日发布了 CentOS 8 的克隆版 **AlmaLinux**。

CentOS 特殊兴趣小组

特殊兴趣小组 (SIG) 是 CentOS 社区中有组织的组成部分,它们提供了构建满足特定需求的专用 CentOS 变体的多种途径。

SIG 拥有以多种方式修改和增强 CentOS 的自由,包括捆绑更多尖端软件、提供替代的桌面平台、根据需求重新创建现有软件包,或使 CentOS 可用于其他不支持的架构。

CentOS 架构

从 8 版本开始,CentOS 完全支持 64 位 ARM、POWER8 和 x86-64 架构,而以下架构不再支持:

  • 不带物理地址扩展 (PAE) 的 IA-32 版本,自 CentOS 6 版本起不再支持。
  • 所有变体的 IA-32,自 CentOS 7 版本起不再支持。
  • IA-64(代表 Intel Itanium 架构)在 CentOS 3 和 4 版本中得到支持。
  • CentOS 4 版本曾提供 32 位 PowerPC(PowerPC 和运行 G4 或 G3 PowerPC 处理器的 Apple Macintosh)的 Beta 支持。
  • IBM 大型机(S/390 和 eServer zSeries)自 CentOS 5 版本起不再支持。
  • Alpha 支持存在于 CentOS 4 版本中。
  • SPARC 的 Beta 支持在 CentOS 4 版本中可用。

截至 2015 年 12 月,CentOS AltArch 版本可用于 ARM 架构的 AArch64 和 ARMv7hl 变体,并计划支持 ARM 架构的各种其他版本。

ARM 支持是一项社区努力,由 AltArch SIG 协调。
CentOS AltArch 版本也适用于 Power ISA(POWER8 和 POWER7 芯片)和 IA-32 架构。

CentOS Live CD 版本可在 mirror.centos.org 网站上获得。手动使用 UNetbootin 可以创建 CentOS 可启动的 Live USM 映像。
CentOS 映像已预先构建并作为 **Amazon 机器映像**(**AMI** 的简称)发布在 Amazon EC2 云上。

CentOS 设计

RHEL 仅用于开发目的,并通过付费订阅服务提供给非生产平台,该服务提供不同级别的访问权限和技术支持以及软件更新。
该项目主要由许多在源代码下共享的软件包组成,并且 Red Hat 发布了这些软件包的自由软件许可证。

  • CentOS 的开发人员使用 Red Hat 的源代码来创建与 RHEL 非常相似的最终产品。
  • Red Hat 的徽标和商标已被修改,因为 Red Hat 不允许它们被重新分发。
  • 技术支持主要由社区通过邮件列表、聊天室和网络论坛提供。
  • 该项目与 Red Hat 相关,但力求更加包容、开放和公开。
  • Red Hat 聘用了 CentOS 的许多主要开发人员。
  • CentOS 项目依赖于组织赞助商和用户的许多捐赠。

CentOS 版本

7.0 版本之前的 CentOS 版本号包含两部分:

  • 次要版本
  • 主要版本

其中次要版本与主要版本相关,并且用于构建特定 CentOS 版本的 Red Hat Enterprise Linux (RHEL) 更新集。

从 7.0 版本开始,CentOS 的版本号还包含第三部分,表示源代码的月份戳。

  • 自 2006 年中期以来,RHEL 的 4.4 版本(正式称为 **Red Hat Enterprise Linux** 4.0 更新 4)开始。
  • Red Hat 采用了与 CentOS 相同的版本命名约定(例如,RHEL 6.5 或 RHEL 4.5)。
  • 由于 CentOS 7.x 版本已进入生命周期,而 CentOS 8.x 版本尚未进入生命周期,因此 CentOS 将 CentOS 8.1 版本的工作推迟到 CentOS 7.7 版本(2019 年 9 月 10 日)。
  • 一旦发布了 7.7 版本,资源将重新投入到 CentOS 8.0 版本。
  • CentOS 于 2019 年 9 月 24 日正式发布了 CentOS 8.0 版本。

CentOS 仓库

CentOS 有三个主要的仓库,称为 **频道**。这些仓库包含构成 CentOS 主要发行版的各种软件包。这些仓库列出并解释如下:

CentOS vs. Ubuntu
  • Base (基础): 此仓库包含构成次要版本发布的基础软件包,并在正式提供原始次要版本 ISO 映像时进行更新。
  • Updates (更新): 此仓库包含各种软件包,它们充当增强、错误修复和安全更新,在次要版本发布期间的常规更新集之间发布。以这种形式发布的增强和错误修复更新不适合发布到如下定义的 CentOS-Fasttrack 仓库。
  • Addons (附加): 它提供了构建构成 CentOS 主要发行版的软件包所需的各种软件包。但是,这些并没有由上游提供。

CentOS 项目提供了许多其他仓库,其中包含 Updates 和 Base 仓库未提供的软件包。这些仓库包含以下内容:

CentOS vs. Ubuntu
  • CentOS Extras (增强): 它包含无需损害 Base 组件的更新或上游兼容性即可为 CentOS 提供其他功能的软件包。
  • CentOSPlus: 它包含升级 CentOS Base 各种组件的软件包,从而修改 CentOS,使其与上游提供商的内容不完全相同。
  • CentOS-Testing (测试): 它为进入 CentOS Extras 和 CentOSPlus 的许多软件包提供了一个测试场地。提供的软件包可能或可能不替换 CentOS 的核心软件包,并且不保证能正常工作。
  • CentOS-Fasttrack: 它包含在许多次要版本发布的常规更新集之间定期发布的增强和错误修复更新。通过这种方式发布的各种软件包被认为是添加到即将发布的次要版本中的候选软件包。它不提供安全更新,也不包含不适合添加到次要版本中的软件包。
  • CR (Continuous Release - 持续发布): 通常,它提供将在下一个 CentOS 次要版本中出现的软件包。在原始次要版本以 ISO 映像形式发布之前,这些软件包会一直处于热修复和测试状态。
  • debuginfo (调试信息): 它包含在创建主要软件包时生成的调试符号的软件包。
  • contrib (贡献): 它包含 CentOS 用户贡献的软件包,这些软件包与核心发行版的软件包不重叠。
  • Software Collections (软件集合): 它提供了比 Base 发行版更新的软件版本。

CentOS Stream

它可以被定义为一种滚动更新的 Linux 发行版,位于 Fedora 的上游开发和 RHEL 的下游开发之间。

Ubuntu 简介

Ubuntu 是基于 Debian 的 Linux 发行版。它主要由开源和免费软件组成。Ubuntu 官方发布了三个主要版本,如下所示:

  • Core (核心版),适用于机器人和物联网设备
  • Server (服务器版)
  • Desktop (桌面版)

这些版本中的每一个都可以单独在计算机上运行,也可以在虚拟机中运行。Ubuntu 是一个流行的云操作系统,并支持 OpenStack。自 17.10 版本以来,Ubuntu 的默认桌面一直是 GNOME。

Ubuntu 每六个月发布一次,LTS 版本每两年发布一次。截至 2020 年 10 月 22 日,最新的 LTS 版本是 Focal Fossa (20.04)。当前的常规版本是 Groovy Gorilla (20.10),支持期为九个月。

这个发行版由 Canonical 和其他开发人员团队设计。它基于一种精英治国模式。Canonical 从发布日期到其生命周期结束日期,为所有 Ubuntu 版本提供支持和安全更新。Canonical 通过销售与 Ubuntu 相关的增值服务来盈利。

Ubuntu 特性

1. 默认安装: Ubuntu 的默认安装包含广泛的软件,包括 Firefox、Transmission、Thunderbird、LibreOffice 以及各种 **(轻量级)** 游戏,如 **国际象棋** 和 **数独**。

2. 软件包: 可以通过 Ubuntu 软件(内置)和其他基于 APT 的软件包管理工具访问各种额外的软件包。

许多默认不再安装的额外软件包,如 **Synaptic、GIMP、Pidgin** 和 **Evolution**,都包含在存储库中,也可以通过主要工具或任何其他基于 APT 的软件包管理工具进行安装。

3. Flatpaks 和 snap 软件包: 也存在跨发行版的 flatpaks 和 snap 软件包。这两种软件包允许在大多数主流 Linux 操作系统中安装软件,包括一些 Microsoft 的软件。
GNOME Files 是默认的文件管理器,以前称为 **Nautilus**。

4. 成本: 默认情况下,安装的每个应用程序软件都是自由软件。Ubuntu 还重新分发了一些仅以二进制格式存在的硬件驱动程序,但是,这些类型的软件包在受限组件中明确标记。

Ubuntu 变体

官方推荐的 Ubuntu 桌面是大多数用户使用的变体。它简称为 Ubuntu,正式名称为 Ubuntu Desktop Edition。
它专为笔记本电脑和台式机开发,并由 Canonical 提供官方支持。从 Ubuntu 17.10 版本开始,GNOME Shell 是默认的桌面环境。
从 Ubuntu 11.04 版本到 Ubuntu 17.04 版本,默认使用的是 Unity 桌面界面。其他一些变体则通过提供不同的桌面环境来区分。

Xfce 和 LXqt 通常建议用于运行配置较低的 PC,这些 PC 的处理能力和内存可能较少。

官方发行版

Ubuntu 的许多风味和版本只是安装了与标准 Ubuntu 桌面不同的默认软件包集合。由于它们共享相同的软件包存储库,因此所有软件包都对它们可用。
Ubuntu Core 是一个例外,因为它只能访问 Snap Store 中的软件包。
下面将讨论一些主要的发行版及其描述:

CentOS vs. Ubuntu
  • Lubuntu: 这个发行版是 Ubuntu 的一个分支,它更节能、资源占用更少、更轻量级。它使用 LXqt 桌面环境(18.10 版本之前使用 LXDE)。
  • Kubuntu: 它是 Ubuntu 的一个分支,它使用 KDE 界面而不是 Ubuntu 桌面使用的 Unity 界面和 GNOME。
  • Ubuntu Core: 它是 Ubuntu 的一个版本,专注于嵌入式和 IoT 系统。与许多其他变体不同,它不使用传统的 apt 包管理器,而是完全依赖 Snap 软件包。
  • Xubuntu: 它是 Ubuntu 的一个分支,使用 Xfce。这个分支旨在运行在配置较低的系统上,或者那些在更快的系统上寻求功能强大的桌面环境的用户,并且主要使用 GTK+ 应用程序。
  • Ubuntu Budgie: 它是 Ubuntu 的一个分支,使用 Budgie。
  • Ubuntu Kylin: 它是 Ubuntu 的一个分支,专注于中国市场。
  • Ubuntu MATE: 它是 Ubuntu 的另一个分支,使用 MATE。MATE 是一个桌面平台,是从已停产的 GNOME 2 的代码库中分支出来的。它专注于桌面隐喻。
  • Ubuntu Server: Ubuntu 包含一个服务器版本,它使用与 Ubuntu Desktop Edition 相同的 APT 存储库。它们之间的主要区别在于服务器版本的默认安装中缺少 X Window 环境(然而,可以轻松安装,包括 KDE、GNOME、Xfce 或 Unity),以及安装过程的一些修改。
  • Ubuntu Studio: Ubuntu Studio 基于 Ubuntu。它为多媒体创作提供各种开源应用程序,面向图形、视频和音频编辑人员。

CentOS 和 Ubuntu 之间的区别

序号。特点CentOSUbuntu
1.系统核心它基于 Red Hat。它基于 Debian。
2.更新周期CentOS 的更新周期故意不频繁。Ubuntu 的更新周期很频繁。
3.安全性CentOS 提供的安全性非常强大。Ubuntu 提供的安全性很好,但需要额外的配置。
4.支持注意事项CentOS 有很好的文档。然而,文档虽然不多,但支持一个活跃的用户社区。Ubuntu 拥有出色的支持社区和文档。
5.平台焦点平台焦点受到许多大型公司的青睐,并面向服务器市场。平台焦点面向桌面用户。
6.可管理性其可管理性具有挑战性。其可管理性适中。
7.文件结构它使用了基本的文件夹/文件结构。但是,系统服务的位置会有所不同。它使用了基本的文件夹/文件结构。但是,系统服务的位置会有所不同。
8.包管理它使用 YUM 包。它使用 apt-get aptitude 包。
9.云接口它使用 CloudStack、OpenNebula 和 OpenStack 云接口。它使用 OpenStack 云接口。
10.虚拟化它提供原生的 KVM 支持用于虚拟化。它为虚拟化提供 Xen、KVM。
11.易用性使用困难。易于使用。
12.速度考虑它具有出色的速度(取决于硬件使用情况)。它也具有出色的速度(取决于硬件使用情况)。
13.托管市场份额它拥有 17.3% 的托管市场份额。它拥有 37.8% 的托管市场份额。
14.默认应用程序它更新不频繁(仅在需要时)。它更新频繁。
15.稳定性CentOS 具有高稳定性。Ubuntu 具有良好的稳定性。
16.用户它拥有一个较小的开发者和用户社区。它拥有一个较大的开发者和用户社区。
17.帮助指导CentOS 的帮助指导较少。Ubuntu 有更多的帮助指导,以免费指南和教程的形式提供。

更多比较

CentOS 和 Ubuntu 之间还有一些其他比较:

CentOS vs. Ubuntu

1. 支持比较

Ubuntu 操作系统由 Canonical 开发。这意味着我们可以购买支持合同。
官方来说,CentOS 没有直接支持。然而,有第三方提供 CentOS 的支持,例如 OpenLogic。这两种操作系统都是免费的。此外,支持是一项可以购买的附加服务。

2. 服务器比较

CentOS 操作系统广泛用于互联网上的服务器。甚至 Amazon Linux 也基于 RHEL/CentOS。此外,Ubuntu 更常用于许多桌面。

3. 安全性比较

CentOS 操作系统会定期更新。通常,它会为所有主要版本更新错误修复和安全补丁。

所有主要版本都从发布日期起支持 10 年(基于 RHEL 的计划)。这是因为在所有版本中都经过了全面的测试。
Ubuntu 操作系统每六个月更新一次。
Ubuntu 的支持针对某个版本提供五年。因此,软件会保持较新,并包含新软件。然而,这些软件的稳定性会稍差。

4. 软件包比较

CentOS 发行版使用 RPM 包格式。一个名为 rpm 的程序用于管理包。一个名为 **yum** 的前端资源被开发用于管理网络依赖关系、存储库和其他操作组合。

Ubuntu 使用 DEB 包格式。它使用一个名为 apt 的资源来管理 DEB 包,类似于 dnf/yum 在 rpm 之上分层。这两种资源/工具都管理包之间的交互,并允许我们只使用一个工具来完成必要的任务。

此外,所有发行版的软件包可用性可能存在差异。一些供应商可能只为 CentOS/RHEL 或 Ubuntu 提供软件包。软件的名称和管理方式可能不同。不同的发行版可能使用不同的打包方法和工具来管理具有命名约定的软件。

Apache 在 Ubuntu 上称为 apache2,并使用一些特殊的脚本来管理虚拟网站和主机。而在 CentOS 上,它被称为 **httpd**,并且处理配置的方式不同。

5. 系统比较

Ubuntu 和 CentOS 都是 Linux。这意味着这两个操作系统拥有非常相似的核心。但在管理工具方面存在一些差异。
例如,使用 ifconfig、ip 等工具来管理网络接口。这两个发行版都创建了辅助程序来帮助轻松地操作这些接口。
然而,这些特定的工具在发行版之间是不同的。因此,有些发行版特有的内容不容易在两者之间转移。


下一主题#