1、CentOS7 簡介
CentOS(Community Enterprise Operating System,中文意思是:社區企業操作系統)是Linux發行版之一,它是來自於Red Hat Enterprise Linux依照開放源代碼規定釋出的源代碼所編譯而成。由於出自同樣的源代碼,因此有些要求高度穩定性的服務器以CentOS替代商業版的Red Hat Enterprise Linux使用。兩者的不同,在於CentOS並不包含封閉源代碼軟件。(百度百科)
2、CentOS7與CentOS 6比對
Centos系統其實早在2014年初就已經被紅帽公司收,2018年紅帽又被IBM收購。不管怎麼樣Centos和RHEL它們之間可以完全兼容。RHEL\CentOS同系列沒什麼什麼不同,主要版本從5、6、7它們之間是有區別,而且變化很大,下面我們主要對比一下CentOS7與CentOS6之間的差異。
Red Hat的分支:
- RHEL: 企業版,穩定更新慢每18個月發行一個新版本
- CentOS:社區版,兼容rhel的格式 【被紅帽收購】
- Fedora: 個人 桌面,版更新快每6個月發行一個新版本
巨大的變化CentOS7不在使用傳統SysV init、Upstart程序進行系統管理。SysV init是傳統風格管理方式,Upstart是由ubuntu 研發的改進版本,沒經歷幾代就被Systemd所取代了。Systemd是紅帽公司的一位年輕工程師研發。init守護進程主要用於初始化系統,管理用戶空間進程。這種方式有兩個缺點:一是啓動時間長。init進程是串行啓動,只有前一個進程啓動完,纔會啓動下一個進程。二是啓動腳本複雜。init進程只是執行啓動腳本,不管其他事情。腳本需要自己處理各種情況,這往往使得腳本變得很長。
Systemd就是爲了解決這些問題而誕生的。它的設計目標是,爲系統的啓動和管理提供一套完整的解決方案。根據 Linux 慣例,字母d是守護進程(daemon)的縮寫。指的就是它要守護整個系統。Systemd的優點是功能強大,使用方便,缺點是體系龐大,非常複雜。事實上,現在還有很多人反對使用 Systemd,理由就是它過於複雜,與操作系統的其他部分強耦合,違反"keep simple, keep stupid"的Unix 哲學。
Systemd新特性:
- 系統引導時實現服務並行啓動
- 按需激活進程;
- 系統狀態快照;
- 基於依賴關係定義服務控制邏輯
Systemd關鍵特性:
- 基於socket的激活機制:socket與服務程序分離
- 基於bus的激活機制
- 基於device的激活機制
- 基於path的激活機制
- 系統快照:保存各unit的當前狀態信息於持久存儲設備中
- 向後兼容sysv init腳本
2.1內核版本
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | 3.10.x-x | 2.6.x-x |
2.2Bootloader
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | GRUB2 | GRUB |
2.3桌面
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | GNOME 3.x | GNOME 2.x |
2.4文件系統
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | xfs、btrfs | ext3、ext4 |
2.5文件結構
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | /bin, /sbin, /lib, and /lib64移到/usr下 | /bin, /sbin, /lib, and /lib64在/ 下 |
2.6服務相關命令
啓動命令
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | systemctl start 服務名 | service 服務名 start |
停止命令
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | systemctl stop 服務名 | service 服務名 stop |
init類型
系統平臺 | CentOS 7 | CentOS 6 | CentOS 5 |
---|---|---|---|
區別 | Systemd | Upstart | SysV |
查看啓動項
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | systemctl list-unit-files | chkconfig --list |
設置啓動項
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | systemctl enable/disable service_name | chkconfig service_name on/off |
單用戶模式
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | $ systemctl rescue | $ init S |
2.7網絡相關命令
網絡命令
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | ip/ss | ifconfig/netstat |
2.8防火牆
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | firewalld、iptables | iptables |
2.9數據庫
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | MariaDB | MySQL |
2.10時間時區、語言
查看時區
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | timedatectl | cat /etc/sysconfig/clock |
時間同步
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | chronyc sources | ntp、ntpq -p |
修改時區
[CentOS7]
# timedatectl set-timezone Asia/Shanghai
# timedatectl status
[CentOS6]
# vim /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=fales
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
設置語言環境
[CentOS7]
# localectl set-locale LANG=zh_CN.utf8
# localectl status
[CentOS6]
# vim /etc/sysconfig/i18n
LANG="zh_CN.utf8"
# locale
設置主機名
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | /etc/hostname | /etc/sysconfig/network |
網絡設備名【系統識別網卡有好幾種維度】
系統平臺 | CentOS 7 | CentOS 6 |
---|---|---|
區別 | en{s、o、p}33是以插槽命名 | eth0是以MAC地址命名 |
3總結
CentOS-7 的第七個發行版本。CentOS Linux 發行版本是一個穩定、高預測性、高管理性、高重複性的平臺,它支持文件系統快照,更大更靈活的存儲,安全性也有所提高。Centos 7從2014年發行至現在也經歷多個年頭,穩定性沒問題大部分公司已經在生產環境安裝運行。CentOS 6中 service init scripts,CentOS 7中 service unit
注意:雖然能兼容早期的服務腳本。但由於CentOS 6 Upstart與CentOS 7 Systemd本身機制的改變已經是一個全新理念的系統了。平臺架構的改變,如果想駕馭它那麼需要我們在平時的工作中認真深入研究它的底層原理,如:btrfs、快照、CoW。