場景:半家用半服務器性質。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,你們就業的時候必定不要選擇這種公司。
除此以外,幾乎沒有其餘區別。