加油
努力

CentOS 8.0引入了哪些7.6中没有的新特性和工具?

CentOS 8.0(基于RHEL 8)相比 CentOS 7.6 引入了大量新特性和工具,涉及系统架构、包管理、容器支持、安全性、内核等多个方面。以下是主要的新特性和工具对比:


1. 全新的包管理系统:DNF 替代 YUM

  • CentOS 7.6:使用 YUM(基于 rpmPython 2),依赖处理较慢。
  • CentOS 8.0
    • 使用 DNF(Dandified YUM)作为默认包管理器,性能更好,依赖解析更高效。
    • DNF 基于 Hawkey 库,支持模块化软件流(modularity)。
    • 自动清理缓存,减少磁盘占用。

2. 软件包模块化(Application Streams / modularity)

  • CentOS 8.0 新增
    • 允许在同一系统中安装多个版本的用户空间应用程序(如 Python、Node.js、PHP、Ruby 等)。
    • 例如:可以同时安装 Python 3.6 和 Python 3.9,并通过模块选择启用特定版本。
    • 使用命令如:
      dnf module list python3
      dnf module enable python3:3.9

CentOS 7.6 不支持此功能。


3. 新的文件系统:XFS 成为默认,Btrfs 不再推荐

  • CentOS 8.0
    • 默认使用 XFS 文件系统(与 7.x 相同),但进一步优化。
    • 移除了对 Btrfs 的支持(不再作为安装选项)。
    • 支持 Stratis(见下文)。

4. Stratis:本地存储管理新工具

  • CentOS 8.0 新增
    • Stratis 是一个结合了 LVM、XFS 和设备映射器的“混合”存储管理器,提供类似 ZFS 的简化体验(如快照、精简配置等)。
    • 适合桌面和中小型企业环境。
    • 示例:
      stratis pool create mypool /dev/sdb
      stratis filesystem create mypool fs1

CentOS 7.6 没有 Stratis。


5. 容器与容器化工具增强

  • Podman(替代 Docker CLI):
    • 无需守护进程,支持 rootless 容器。
    • 与 Docker CLI 兼容(podman run, build, pull 等)。
  • Buildah:用于构建 OCI 镜像,无需 Dockerfile 或守护进程。
  • Skopeo:用于复制、检查容器镜像。
  • CRI-O:轻量级 Kubernetes 容器运行时。

这些在 CentOS 7.6 中需要手动安装或社区支持。


6. Systemd 升级与服务管理改进

  • CentOS 8.0
    • 使用更新版 systemd(v239+),提供更多单元类型和控制功能。
    • 支持 socket 激活、cgroup v2(可选)、更精细的资源控制。
    • 支持 systemd-mountsystemd-homed 等新组件。

7. 内核升级

  • CentOS 8.0:基于 Linux Kernel 4.18 LTS。
  • CentOS 7.6:基于 Kernel 3.10 LTS。
  • 新内核带来更好的硬件支持(尤其是新 CPU、NVMe、GPU)、性能优化、安全补丁。

8. 网络管理:nmcli 成为主导,ifcfg 脚本弱化

  • NetworkManager 成为核心网络管理工具。
  • nmtui 提供文本界面配置。
  • 传统 /etc/sysconfig/network-scripts/ifcfg-* 文件仍然存在,但建议使用 nmcli 管理。
  • 支持更复杂的网络场景(如 teaming、bonding、VLAN via NM)。

9. Web 控制台:Cockpit

  • CentOS 8.0 默认集成 Cockpit
    • 图形化 Web 管理界面(端口 9090)。
    • 可管理存储、网络、容器、服务、用户等。
    • 支持插件扩展。
  • 启用方式:
    systemctl enable --now cockpit.socket

CentOS 7.6 需要手动安装 Cockpit。


10. 安全增强

  • SELinux 更严格默认策略
  • 支持 OpenSCAP 安全合规扫描(集成到安装器和系统中)。
  • 默认禁用不安全协议(如 SSLv3)。
  • 支持 FIPS 140-2 加密标准(需启用)。

11. Python 版本变更

  • CentOS 8.0
    • 默认不安装 python 命令,需显式选择 python2python3
    • 推荐使用 Python 3(Python 3.6+)。
    • 使用 alternatives 管理 Python 版本。
  • CentOS 7.6:默认提供 Python 2.7。

12. 废弃和移除的功能

  • 不再支持 iptables 作为默认防火墙后端
    • 使用 nftables 作为底层,firewalld 仍为前端。
  • 移除 postfix 的 sendmail 兼容层(部分)
  • 不再提供 e2fsprogs 的 debugfs 默认启用
  • 停止支持 i386 架构(仅支持 x86_64、aarch64 等)。

13. 编译与开发工具更新

  • GCC 升级到 8.x 版本。
  • C++17、Fortran 2008 支持增强。
  • devtoolset 工具集更新(如 devtoolset-9 提供 GCC 9)。

总结:CentOS 8.0 相比 7.6 的核心变化

类别 CentOS 7.6 CentOS 8.0
包管理 YUM + RPM DNF + RPM + 模块化
容器支持 Docker(第三方) Podman, Buildah, Skopeo(原生)
存储管理 LVM, mdadm Stratis(新增)
Python Python 2.7 默认 Python 3 为主,无默认 python 命令
内核 3.10 4.18
网络管理 ifcfg 脚本为主 NetworkManager + nmcli
安全 SELinux, firewalld SELinux, firewalld + nftables, OpenSCAP
Web 管理 无默认 Cockpit 集成
多版本应用 不支持 Application Streams(模块化)

⚠️ 注意:CentOS 8 已于 2021 年底停止维护(EOL),官方推荐迁移到 CentOS StreamRocky LinuxAlmaLinux。建议评估生产环境是否继续使用 CentOS 8。

如需长期支持,建议升级到 RHEL 8/9 克隆版本(如 Rocky Linux 8/9)。

云服务器