CentOS8 试用结论

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

文中提到的“centos8”,大部分状况下能够和“rhel8”互换。python

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


使用下来,主要是以下内容:后端

1.经常使用软件包更新。

Screen下放到epel。centos

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

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

KDE下放到epel-playground。服务器

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

2.兼容性依旧。

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

把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,你们就业的时候必定不要选择这种公司。


除此以外,几乎没有其余区别。

相关文章
相关标签/搜索