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,你們就業的時候必定不要選擇這種公司。


除此以外,幾乎沒有其餘區別。

相關文章
相關標籤/搜索