RHEL/CentOS 7.x的幾點新改變
PS:RHEL7和CentOS7出來有一段時間了,拿出點時間研究下,有幾個地方跟6和5系列相比改變比較大,估計不少童鞋有點不太習(xí)慣。下面簡要舉例說明改變比較大的要點:
一、CentOS的Services使用了systemd來代替sysvinit管理
1、systemd的服務(wù)管理程序:
systemctl是主要的工具,它融合之前service和chkconfig的功能于一體??梢允褂盟?**性或只在當前會話中啟用/禁用服務(wù)。
systemctl可以列出正在運行的服務(wù)狀態(tài),如圖:
systemd-cgls以樹形列出正在運行的進程,它可以遞歸顯示控制組內(nèi)容。如圖:
2、如何啟動/關(guān)閉、啟用/禁用服務(wù)?
啟動一個服務(wù):systemctl start postfix.service
關(guān)閉一個服務(wù):systemctl stop postfix.service
重啟一個服務(wù):systemctl restart postfix.service
顯示一個服務(wù)的狀態(tài):systemctl status postfix.service
在開機時啟用一個服務(wù):systemctl enable postfix.service
在開機時禁用一個服務(wù):systemctl disable postfix.service
查看服務(wù)是否開機啟動:systemctl is-enabled postfix.service;echo $?
查看已啟動的服務(wù)列表:systemctl list-unit-files|grep enabled
說明:啟用服務(wù)就是在當前“runlevel”的配置文件目錄/etc/systemd/system/multi-user.target.wants/里,建立/usr/lib/systemd/system里面對應(yīng)服務(wù)配置文件的軟鏈接;禁用服務(wù)就是刪除此軟鏈接。如圖:
查看了/usr/lib/systemd/system 里的文件,語法跟舊版/etc/init.d/里的系統(tǒng)服務(wù)腳本完全不同了。
二、修改系統(tǒng)運行級別:
1、systemd使用比sysvinit的運行級更為自由的target替代。第3運行級用multi-user.target替代。第5運行級用graphical.target替代。runlevel3.target和runlevel5.target分別是指向 multi-user.target和graphical.target的符號鏈接。
可以使用下面的命令切換到“運行級別3 ”:
systemctl isolate multi-user.target或systemctl isolate runlevel3.target
可以使用下面的命令切換到“運行級別5 ”:
systemctl isolate graphical.target或systemctl isolate runlevel5.target
2、如何改變默認運行級別?
systemd使用鏈接來指向默認的運行級別。在創(chuàng)建新的鏈接前,可以通過下面命令刪除存在的鏈接: rm /etc/systemd/system/default.target
默認啟動運行級別3 :
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
默認啟動運行級別5 :
ln -sf /lib/systemd/system/graphical.target/etc/systemd/system/default.target
systemd不使用/etc/inittab文件。
3、如何查看當前運行級別?
舊的runlevel命令在systemd下仍然可以使用??梢岳^續(xù)使用它,盡管systemd使用 ‘target’ 概念(多個的 ‘target’ 可以同時激活)替換了之前系統(tǒng)的runlevel。
等價的systemd命令是systemctl list-units –type=target
三、其他配置工具:
1、setup和ntsysv工具還是保留了,但是功能已大大減弱,以前ntsysv工具可以控制所有系統(tǒng)服務(wù)的自啟動,現(xiàn)在只能控制少部分服務(wù)。
2、/etc/resolv.conf這個DNS配置文件沒變。
3、/etc/sysconfig/network-scripts/ifcfg-ens192網(wǎng)卡配置文件名字和一些選項有所變化。
4、引導(dǎo)方式改用grub2引導(dǎo),grub2有如下特點:1、模塊化設(shè)計;2、支持多體系硬件架構(gòu);3、支持國際化多語言;4、獨立內(nèi)存管理;5、支持腳本語言。
附:systemd簡介
systemd是Linux下的一種init軟件,由Lennart Poettering帶頭開發(fā),并在LGPL 2.1及其后續(xù)版本許可證下開源發(fā)布。其開發(fā)目標是提供更優(yōu)秀的框架以表示系統(tǒng)服務(wù)間的依賴關(guān)系,并依此實現(xiàn)系統(tǒng)初始化時服務(wù)的并行啟動,同時達到降低Shell的系統(tǒng)開銷的效果,最終代替現(xiàn)在常用的System V與BSD風(fēng)格init程序。
與多數(shù)發(fā)行版使用的System V風(fēng)格init相比,systemd采用了以下新技術(shù):
采用Socket激活式與總線激活式服務(wù),以提高相互依賴的各服務(wù)的并行運行性能;
用cgroups代替PID來追蹤進程,以此即使是兩次fork之后生成的守護進程也不會脫離systemd的控制。
從設(shè)計構(gòu)思上說,由于systemd使用了cgroup與fanotify等組件以實現(xiàn)其特性,所以只適用于Linux。
更詳細的systemd介紹請參考:http://en.wikipedia.org/wiki/Systemd
原文鏈接:http://www.ha97.com/5657.html