3

场景:半家用半服务器性质。

文中提到的“centos8”,大部分情况下可以和“rhel8”互换。

本次Centos8基于fedora28(2018年5月发行),使用内核版本4.18,gcc版本8.2。


使用下来,主要是如下内容:

1.常用软件包更新。

Screen下放到epel。

Nginx、nodejs、go由epel提升到官方源。

Etcd、kubernetes等大量软件包被剔除。

KDE下放到epel-playground。

相比官方源,epel源的版本相对还是比较新的。提升到官方源不见得是个好事情。例如epel7和epel6中的go版本是1.13,centos8中的版本是1.11。

2.兼容性依旧。

centos向前的兼容性一直是可圈可点的,同一套初始化脚本,在centos6中可以使用。

把el6改成el7或者el8,大部分内容仍然可以在centos8中使用。

其余的两个重点分别是:

  1. YUM(YUM3.4.3)改为DNF(YUM4.0.9)。对于日常管理而言,并没有影响,yum只是指向dnf的一个软链而已,功能相同,命令一样。
  2. Firewalld的后端从iptables改为nftables,并来了一次套娃。
如果在centos7的时代更新了firewalld,那么你的使用其实是没有影响的。
如果你在centos7时代选择chkconfig firewalld off; yum install iptables-service,那么你的实际体验依然没有影响。
centos8依然支持iptables-service。当然了,iptables的后端也改成了nftables。

3.更加任性。

1.MongoDB

自从MongoDB宣布由AGPL切换到SSPL之后,RHEL8便不再提供MongoDB的源,因此CentOS8也一样不会提供MongoDB的下载。

SSPL 明确要求托管 MongoDB 实例的云厂商要么获取商业许可证要么向社区开放其服务源码。

2.Docker

Centos8中并未提供docker,此处特指“docker公司的docker”,反而提供了叫做Pod manager(Podman,Skopeo和Buildah系列工具,以下用podman代指)的东西。

image.png
podman同样实现了所有的docker命令行功能,近乎完全兼容,除了docker remote api。
image.png

和docker不一样的是,podman不存在守护进程,因此也不存在“docker挂掉所以所有的容器都挂掉”、“支持docker的--restart参数”等功能和问题。

红帽的考虑是三点,归结起来只有一句话:“以后你们基本用的都是OpenShift这种基于k8s的平台了,我后端换成什么已经不重要了,换成podman还更简单、更安全。”
image.png

3.Systemd

Centos8中,引入了cockpit,可以直接界面管理系统。

image.png

4.语言包分别打包

默认下不会再安装其他语言。

语言包分别被打包进:

  1. langpacks-zh_CN
  2. glibc-langpack-zh

4.努力摆脱“软件源老旧”的印象。

MySQL升级到8.0,Mariadb升级到10.3,PostgreSQL升级到9.6和10,Redis升级到5,默认python从2.7升级到3.6,并且取消了/usr/bin/python软链,使用python必须指定版本。

甚至将默认显示服务器升级到wayland。

这些影响最大的是MySQL,默认编码变成了utf8mb4_0900_hr_ai_ci,对于一些特殊字符有特殊的排序,例如0x20(空格)等于0XC2A0(utf8空格)。

image.png

有些公司的MySQL甚至还停留在5.5,大家就业的时候一定不要选择这种公司。


除此之外,几乎没有其他区别。


大舒
7k 声望815 粉丝

define TRUE FALSE