场景:半家用半服务器性质。node
文中提到的“centos8”,大部分状况下能够和“rhel8”互换。python
本次Centos8基于fedora28(2018年5月发行),使用内核版本4.18,gcc版本8.2。docker
使用下来,主要是以下内容:后端
Screen下放到epel。centos
Nginx、nodejs、go由epel提高到官方源。api
Etcd、kubernetes等大量软件包被剔除。安全
KDE下放到epel-playground。服务器
相比官方源,epel源的版本相对仍是比较新的。提高到官方源不见得是个好事情。例如epel7和epel6中的go版本是1.13,centos8中的版本是1.11。工具
centos向前的兼容性一直是可圈可点的,同一套初始化脚本,在centos6中可使用。ui
把el6改为el7或者el8,大部份内容仍然能够在centos8中使用。
其他的两个重点分别是:
若是在centos7的时代更新了firewalld,那么你的使用实际上是没有影响的。
若是你在centos7时代选择chkconfig firewalld off; yum install iptables-service,那么你的实际体验依然没有影响。
centos8依然支持iptables-service。固然了,iptables的后端也改为了nftables。
自从MongoDB宣布由AGPL切换到SSPL以后,RHEL8便再也不提供MongoDB的源,所以CentOS8也同样不会提供MongoDB的下载。
SSPL 明确要求托管 MongoDB 实例的云厂商要么获取商业许可证要么向社区开放其服务源码。
Centos8中并未提供docker,此处特指“docker公司的docker”,反而提供了叫作Pod manager(Podman,Skopeo和Buildah系列工具,如下用podman代指)的东西。
podman一样实现了全部的docker命令行功能,近乎彻底兼容,除了docker remote api。
和docker不同的是,podman不存在守护进程,所以也不存在“docker挂掉因此全部的容器都挂掉”、“支持docker的--restart参数”等功能和问题。
红帽的考虑是三点,归结起来只有一句话:“之后大家基本用的都是OpenShift这种基于k8s的平台了,我后端换成什么已经不重要了,换成podman还更简单、更安全。”
Centos8中,引入了cockpit,能够直接界面管理系统。
默认下不会再安装其余语言。
语言包分别被打包进:
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空格)。
有些公司的MySQL甚至还停留在5.5,你们就业的时候必定不要选择这种公司。
除此以外,几乎没有其余区别。