Centos6與7的區別
#如有雷同純屬巧合不盛榮幸
upstart
1,CentOS6和ubntu14采用的是upstart技術代替了sysvinit進行引導,upstart對rc.sysinit做了大量的優化,縮短了系統初始化的啟動時間。upstart的很多特性並沒有凸顯或直接支持
systemd
systemd是linux下的一種init軟件,由Lennarrt Poettering帶頭開發。其開發的目標是提供更優秀的框架以表示系統服務見的依賴關系,並依此實現系統初始化時服務器並行啟動同時降低了shell系統的開銷效果,最終代替在常用的system V與BSD風格的init程序。
主要克服sysvinit的缺點
SystemD的很多概念來源於蘋果的launchd。目標是盡可能啟動更少進程;盡可能將更多進程並行啟動(這是性能優於SysVinit的理念基礎)。SystemD盡可能減少對Shell腳本的依賴。傳統SysVinit使用inittab來決定運行哪些Shell腳本,大量使用Shell腳本被認為是效率低下無法並行的原因。SystemD使用了Linux專屬技術,不再顧及POSIX兼容,只要能滿足社會變革的需要,突破一些可能過時的技術約束,這也是當今創信理念的需要,相信市場會給出評判。
與多數發行版使用的System V風格init相比,SystemD采用了以下新技術:
采用Socket激活式與總線激活式服務,以提高相互依賴的各服務的並行運行性能;
用cgroups代替PID來追蹤進程,因此即使是兩次fork之後生成的守護進程也不會脫離systemd的控制。
從設計構思上說,由於SystemD使用了cgroup與fanotify等組件以實現其特性,所以只適用於Linux。有鑒於此,基於kFreeBSD分支的軟件源無法納入SystemD。
1. SystemD服務管理
systemctl is-enabled .service #查詢服務是否開機啟動
sudo systemctl enable .service #開機運行服務
sudo systemctl disable .service #取消開機運行
sudo systemctl start .service #啟動服務
sudo systemctl stop .service #停止服務
sudo systemctl restart .service #重啟服務
sudo systemctl reload .service #重新加載服務配置文件
systemctl status .service #查詢服務運行狀態
systemctl –failed
#顯示啟動失敗的服務
2. 開機模塊加載
/etc/modules-load.d/.conf,相當於原rc.conf中的MODULES變量
模塊黑名單仍在/etc/modprobe.d/下,如blacklist.conf:
3. Locale
/etc/locale.conf,相當於原rc.conf中的LOCALE
4. 日誌服務
systemd自帶日誌服務,參考systemd Journal
可以刪除syslog-ng了
5. 主機名
/etc/hostname,相當於原來rc.conf中的HOSTNAME變量
6. 網絡
3. 運行級別
SystemD用target替代了runlevel的概念,提供了更大的靈活性,如可以繼承一個已有的target,並添加其它服務,來創建自己的target。
sudo systemctl list-units –type=target #查詢當前target
sudo systemctl isolate graphical.target #改變當前target,重啟無效
sudo systemctl enable multi-user.target #改變啟動時默認target
sudo systemctl enable kdm.service #graphical是默認target,指定使用的display manager
單位處理
1. 單位的處理
創建單位用的系統配置文件位於/lib/systemd/system/,但/etc/systemd/system目錄下的同名文件會優先於前者。
單位文件的定義通常比傳統的SysVinit腳本要短得多。例如,用於通過NTP來同步網絡時間的服務只有短短幾行:
1 [Unit]
2 Description=Network Time Service
3
4 [Service]
5 ExecStart=/usr/bin/ntpd -n -u ntp:ntp -g
6
7 [Install]
8 WantedBy=multi-user.target
所有的單位文件都包含由[Unit]開頭的一節,其中包含一般設置與簡短介紹。
[Service]一節含有針對該服務要進行的任務的指定設置。
[Install]一節包含了SystemD在(反)安裝時要解釋的說明。
yum源上的優化
以前我們在Centos7以前的版本默認是通過官方 下載的rpm包,由於是國外的yum源所以下載時候很慢導致不能用,Centos7裏做了優化,采用就近原則通過dns找到最近yum源開始進行下載
時間同步 Centos6 ntp
ntpq -p
Centos7 chrony
chrony sources
ü 時間修改
[CentOS-6.x]:
# vim /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=fales
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[CentOS-7.x]:
# timedatectl set-timezone Asia/Tokyo
# timedatectl status
ü 默認數據庫
[CentOS-6.x]:MySQL
[CentOS-7.x]:MariaDB
ü 服務管理
任務 | [CentOS-6.x] | [CentOS-7.x] |
服務自動啟動 | chkconfig –level 3 httpd on | systemctl enable httpd.service |
服務不自動啟動 | chkconfig –level 3 httpd off | systemctl disable httpd.service |
檢查服務狀態 | service httpd status | systemctl status httpd.service |
顯示所有服務 | chkconfig –list | systemctl list-units –type=service |
啟動某服務 | service httpd start | systemctl start httpd.service |
停止某服務 | service httpd stop | systemctl stop httpd.service |
重啟某服務 | service httpd restart | systemctl restart httpd.service |
ü 防火墻
[CentOS-6.x]:iptables
[CentOS-7.x]:firewalld
安裝:yum install firewalld
開啟:systemctl start firewalld.service
關閉:systemctl stop firewalld.service
自啟:systemctl enable firewalld.service
設置:
允許某ip訪問某服務:
#firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.88.10/24" service name="http" accept"
刪除上面設置的規則:
#firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="192.168.88.10/24" service name="http" accept"
轉發 tcp 22 端口至 3753
# firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=3753
轉發 22 端口數據至另一個 ip 的相同端口上
# firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100
轉發 22 端口數據至另一 ip 的 2055 端口上
# firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100
防火墻預定義的服務配置文件是xml文件 目錄在 /usr/lib/firewalld/services/網絡命令
區域
網絡區域定義了網絡連接的可信等級。這是一個一對多的關系,這意味著一次連接可以僅僅是一個區域的一部分,而一個區域可以用於很多連接。
ü 網絡命令
[CentOS-6.x]:
# netstat
# netstat -I
# netstat –n
# ifconfig –a
# route -n
[CentOS-7.x]:
# ip n
# ip -s l
# ss
# ip address show
# ip route show
ü 默認運行級別
systemctl set-default runlevel3.target
配置文件位置:/lib/systemd/system/runlevel*.target
ü
本文出自 “淩宇的技術博客” 博客,謝絕轉載!
Centos6與7的區別