Centos8 新特性介绍

前言

CentOS 7 将在 2024 年 6 月 30 日停止支持。

发布时间

CentOS 8 在 2019.9.25 正式发布,提供了两个版本,分别是 CentOS 和 CentOS Streams,Linux 内核版本为 4.18。其中 CentOS Stream 是一个滚动发布的 Linux 发行版,它介于 Fedora Linux 的上游开发和 RHEL 的下游开发之间而存在。可以把 CentOS Streams 当成是用来体验最新红帽系 Linux 特性的一个版本,而无需等太久。CentOS 8 不支持 在 CentOS 7 的基础上进行大版本升级,因此 CentOS 8 只支持全新安装。截止 2020 年 12 月 9 日,CentOS 官方团队正式宣布 2021 年后将停止更新 CentOS 8,转而将更多的精力放在 CentOS Stream 上,也就是说以后不会再有 CentOS 9、CentOS 10,但 CentOS 7 的长期技术支持时间将不会改变,依旧会延续到 2024 年。

软件仓库

引入了两个新的软件仓库,分别是 BaseOS 和 AppStream,其中 BaseOS 包含所有底层 OS 包,AppStream 包含与应用程序相关的包、开发工具、数据库和其他包。换句话说,BaseOS 仓库拥有组成操作系统核心的传统 RPM 包。一旦你更新了系统,它会自动下载并安装这些包的任何新版本。然而有时候你可能不想批量升级软件,因为它可能会在你希望保持稳定的环境中导致兼容性问题(例如在测试代码时)。AppStream 是对传统 rpm 格式的全新扩展,为一个组件同时提供多个主要版本,这就是为什么新的 CentOS 8 新增了 AppStream 仓库。

软件更新

使用 YUM 包管理器 4.0.4 版本,该版本现在使用 DNF (Dandified YUM) 技术作为后端。DNF 是新一代的 YUM,且 CentOS 8 允许同时使用这 dnf 和 yum 两种工具来管理包。与 DNF 技术集成后,提高了性能,具有定义良好的 API,并支持模块化内容、云应用程序流、容器工作负载和 CI/CD。

Shell 和命令行工具

提供的版本控制工具,包括 Git 2.18,Mercurial 4.8 和 Subversion 1.10。

动态编程语言、Web 和数据库服务器

  • Python 3.6 是默认的 Python 环境,有限支持 Python 2.7。
  • Node.js 是在 CentOS 8 中最新包含的,其他动态语言更新包括: PHP 7.2,Ruby 2.5,Perl 5.26,SWIG 3.0。
  • 提供的数据库服务,包括 MariaDB 10.3,MySQL 8.0,PostgreSQL 10,PostgreSQL 9.6,Redis 5。
  • 提供 Apache 2.4 和首次引入 Nginx 1.14。
  • 将 Squid 版本升级到 4.4,同时也首次提供 Varnish Cache 6.0。

编译器和开发工具

  • GCC 编译器更新到 8.2 版本,支持更多 C++ 标准,更好的优化以及代码增强技术、提升警告和硬件特性支持。
  • 核心支持 eBPF 调试的工具包括 BCC、PCP 和 SystemTap。
  • 2.28 版本 glibc 库支持 Unicode 11,更新的 Linux 系统调用功能主要提升 DNS Stub Resolver 和额外的安全加强和性能。
  • 提供 OpenJDK 11、OpenJDK 8、IcedTea-Web 以及不同的 Java 工具,如 Ant、Maven、和 Scala。

桌面环境

GNOME Shell 升级到 3.28,GNOME 的会话和显示管理使用 Waylan 作为默认的显示服务器,而 CentOS 7 默认的 X.Org Server 依然支持。

安装程序以及镜像的创建

  • Anaconda 安装程序可使用 LUKS2 磁盘加密,支持 NVDIMM 设备。
  • Image Builder 工具可以创建不同格式的自定义系统镜像,包括满足云平台的各种格式。
  • 支持使用硬件管理控制台 HMC 从 DVD 安装,同时也提供 IBM Z 主机的 Support Element (SE)
  • 内核扩展 Berkeley Packet Filtering (eBPF) 特性使得用户空间的各个点上附加自定义程序,包括 (sockets, trace points, packet reception) ,用于接收和处理数据,目前该特性还处于特性预览阶段
  • BPF Compiler Collection (BCC), 这是一个用来创建高效内核跟踪和操作的工具,目前处于技术预览阶段

文件系统和存储

LUKS version 2(LUKS2)格式替代走过去的 LUKS (LUKS1) 格式,dm-crypt 子系统和 cryptsetup 工具现在使用的是 LUKS2 作为默认的加密卷格式。

加密安全

默认的系统级的加密策略用于配置核心加密子系统,覆盖 TLS、IPsec、SSH、DNSSEC 和 Kerberos 协议。增加全新命令 update-crypto-policies,管理员可轻松切换不同模式,包括 default、legacy、futurefips。

网络工具

  • nftables 框架替代 iptables 作为默认的网络包过滤工具。
  • firewalld 守护进程使用 nftables 作为默认后端。
  • 支持 IPVLAN 虚拟网络驱动程序,主要用于连接多个容器。

虚拟化技术

使用 Podman 进行容器管理,在 CentOS 8 中创建的虚拟机,现在支持并自动配置更现代的基于 PCI Express 的计算机类型(Q35)。这在虚拟设备的功能和兼容性方面提供了多种改进。现在可以使用 RHEL8 Web 控制台(也称为 “驾驶舱”)创建和管理虚拟机。

高可用和集群

Pacemaker 集群资源管理器更新到最新版本 2.0.0,修复了一系列 bug 及相关功能做了提升。pcs 配置系统完全支持 Corosync 3、knet 和节点名称。

参考资料