田明山
摘要:CentOS(Community Enterprise Operating System,社區企業操作系統)是Linux發行版之一,它是Red Hat Enterprise Linux再編譯的產物,要求高度穩定性的服務器往往使用CentOS作為其操作系統,相對于其他 Linux 發行版,其穩定性值得信賴。隨著版本的不斷更新,出現了很多新功能、新特性。
關鍵詞:CentOS ;Linux
中圖分類號:TP316 文獻標識碼:A 文章編號:1009-3044(2017)35-0122-02
Centos作為非常受歡迎的Linux發布版本之一,目前已經升級到了7.0以上。而Centos7.0版本與我們之前所用的版本有了很大的變化,本文將對Centos7.0的一些新特性進行總結分析,希望可以對大家有所幫助。
1 使用systemctl 作為系統服務管理器命令
從Centos7.0開始使用systemctl 作為系統服務管理器命令,它將老版本中 service 和 chkconfig 這兩個命令功能組合到了一起。
在Centos7.0之前的版本中,我們可以使用命令“chkconfig —level 3 dhcpd on”將dhcp服務設置為開機自啟動;可以使用命令“service httpd status”來查看http服務的狀態;可以使用“chkconfig —list”來查看系統已啟動的服務。我們可以使用“service samba start”來啟動samba服務;可以使用“service nfs stop”來停止nfs服務;可以使用“service network restart”來重啟網卡。
從Centos7.0開始,我們使用 “systemctl enable named.service”將DNS服務設置為開機自啟動;使用“systemctl status vsftpd.service”來顯示ftp服務的狀態;使用“systemctl list-units —type=service” 來查看系統已啟動的服務。我們使用“systemctl start firewalld.service”開啟防火墻;我們使用“systemctl stop nfs-server.service” 來停止nfs服務;我們使用“systemctl restart telnet.service” 來重啟telnet服務。
總結以上systemctl的用法:
systemctl is-enabled *.service #查詢服務是否開機啟動
systemctl enable *.service #開機運行服務
systemctl disable *.service #取消開機運行
systemctl start *.service #啟動服務
systemctl stop *.service #停止服務
systemctl restart *.service #重啟服務
systemctl reload *.service #重新加載服務配置文件
systemctl status *.service #查詢服務運行狀態
systemctl —failed #顯示啟動失敗的服務
除此之外,強大的systemctl命令還有如下的用法:
systemctl reboot #重啟系統
systemctl halt #停止系統
systemctl suspend #掛起系統
systemctl hibernate #休眠系統
systemctl isolate runlevel5.target/ graphical.target #啟動運行等級5,即圖形模式
systemctl isolate runlevel3.target/ multiuser.target #啟動運行等級3,即命令行模式
systemctl emergency #進入緊急模式
這里只是列出了systemctl的部分功能,systemctl還擁有很多強大的功能等待我們去發現。
2 使用firewalld代替原來的iptables
Centos升級到7.0版本以上之后,發現無法使用iptables控制Linuxs的端口,原來從Centos 7開始使用firewalld代替了原來的iptables。
在centos7.0之前的版本中,防火墻一直使用的是iptables,而iptables是一種靜態防火墻,也就是說它不能動態添加開啟端口,必須在配置文件中添加開啟端口,然后重啟iptables后才能生效。而centos7的防火墻使用的是firewalld,它是動態的,可以通過命令添加開啟端口,而不用重啟服務就可以使改變生效。
firewalld將網絡劃分成不同的區域,并且制定不同區域的訪問控制策略來控制不同區域間傳送的數據流。例如,外部網絡是不可信任的區域,而內部網絡是可信任的區域。我們可以安裝網絡安全模型,并在首次次啟動、建立網絡連接時進行初始化。該網絡安全模型確認了主機所在的整個網絡環境的可信級別,并定義了新連接的處理方式。我們可以選擇如下的幾種不同的初始化區域:
1) block(阻塞區域):阻止一切傳入的網絡數據包。
2) work(工作區域):信任網絡中的其他計算機。
3) home(家庭區域):信任網絡中的其他計算機。
4) public(公共區域):不信任網絡中的任何計算機,只接受傳入的網絡連接。
5) DMZ(隔離區域):只有接受傳入的網絡連接。
6) trusted(信任區域):默認接受所有的數據包。
7) drop(丟棄區域):只允許計算機通過網絡向外發送數據包,而所有外部傳來的數據包將一律被丟棄。
8) internal(內部區域):信任網絡中的其他計算機,選擇接受傳入的網絡連接。
9) external(外部區域):不信任網絡中的其他計算機,選擇接受傳入的網絡連接。
3 選擇XFS作為其默認的文件系統
Centos7.0安裝時默認使用XFS作為其文件系統,當然并不是說原先的EXT文件系統不再使用,Centos 7.0仍然是支持EXT文件系統的。但是面對越來越大的數據量,EXT文件系統已經顯得越來越心有余而力不足。XFS文件系統則完全是為大數據而生的,其單個分區最大可以支持到8EB(1EB=1024PB,1PB=1024TB)大小,單個文件的大小最大可達到16TB,并且還提供有豐富的日志系統,是應對大數據存儲的強大的文件系統?;诖?,centos7開始默認使用XFS這種高擴展性、高性能的文件系統。我們可以使用工具xfsdump和xfsrestore來備份和恢復xfs文件系統。
4 配置網絡和主機名的變化
首先是配置網絡, 進/etc/sysconfig/network-script/一看,網卡名稱不再是eth0之類的了,改成了enoxxxxxx的格式,en代表的是enthernet以太網,o代表onboard內置,這種新的方式不但長,而且難記,不過優點也比較突出,有編號唯一性,遷移系統的時候不容易出錯。
最小化安裝好centos7.0之后,調整網卡配置文件:
利用命令cd /etc/sysconfig/network-scripts/進入網卡配置文件所在目錄,發現有兩個ifcfg文件,一個ifcfg-lo是循環網卡,配置給了127.0.0.1,另一個是ifcfg-enoxxxxx,這才是真正的網卡。
編輯 ifcfg-enoxxxxx文件,將文件里的ONBOOT改成yes,BOOTPROTO設置成dhcp,或者也可以設置靜態網址static,設置靜態網址需要在末尾添上:
IPADDR0=192.168.0.2 #設置IP地址
PREFIXO0=24 #設置子網掩碼
GATEWAY0=192.168.0.1 #設置網關
DNS1=192.168.0.1 #設置主DNS
DNS2=114.114.114.114 #設置備DNS
保存文件,用systemctl restart network.service網卡配置成功。
然后是主機名,進/etc/sysconfig/network去改名字,發現這個文件是空的,事實上Centos 7.0中改名要到/etc/hostname去改。我們還可以利用“hostname 主機名稱” 這種方式來改,但只能修改臨時的主機名,當重啟機器后,主機名稱又變回來了,在centos7.0中我們可以使用“hostnamectl set-hostname主機名稱”使用這種方式修改,可以永久性的修改主機名稱。
5 ifconfig將被ip addr取代
當我們安裝centos7.0最小化系統后,會發現執行ifconfig命令,提示命令未找到,也就是說最小化安裝的centos7.0是不帶ifconfig命令的(可以自己安裝),那我們怎么查看本機ip呢?原來從centos7.0開始,將逐步使用IP命令取代ifconfig命令的功能。
我們可以直接輸入ip addr命令即可查看網卡ip地址配置情況;可以利用ip —s link網絡接口統計信息;可以使用 ip route命令顯示或設置路由信息。相信在后續的版本中ifconfig將逐漸淡出,被強大ip命令所徹底取代。
參考文獻:
[1] 張同光. Linux操作系統(RHEL7/CentOS7)[M].北京:清華大學出版社,2014.
[2] 王亞飛.CentOS7系統管理與運維實戰[M].北京:清華大學出版社, 2016.