1. 程式人生 > >Centos6與7的區別

Centos6與7的區別

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的區別