CentOS 7.x開始,CentOS開始使用systemd服務來代替daemon张肾,原來管理系統(tǒng)啟動和管理系統(tǒng)服務的相關命令全部由systemctl命令來代替。
1、原來的 service 命令與 systemctl 命令對比
daemon命令systemctl命令說明
service [服務] startsystemctl start [unit type]啟動服務
service [服務] stopsystemctl stop [unit type]停止服務
service [服務] restartsystemctl restart [unit type]重啟服務
此外還是二個systemctl參數(shù)沒有與service命令參數(shù)對應
status:參數(shù)來查看服務運行情況
reload:重新加載服務炸渡,加載更新后的配置文件(并不是所有服務都支持這個參數(shù),比如network.service)
應用舉例:
#啟動網(wǎng)絡服務systemctl start network.service#停止網(wǎng)絡服務systemctl stop network.service#重啟網(wǎng)絡服務systemctl restart network.service#查看網(wǎng)絡服務狀態(tài)systemctl status network.serivce
2丽已、原來的chkconfig 命令與 systemctl 命令對比
daemon命令systemctl命令說明
chkconfig [服務] onsystemctl enable [unit type]設置服務開機啟動
chkconfig [服務] offsystemctl disable [unit type]設備服務禁止開機啟動
應用舉例:
#停止cup電源管理服務systemctl stop cups.service#禁止cups服務開機啟動systemctl disable cups.service#查看cups服務狀態(tài)systemctl status cups.service#重新設置cups服務開機啟動systemctlenablecups.service
命令格式:
systemctl [command] [–type=TYPE] [–all]
參數(shù)詳解:
command- list-units:依據(jù)unit列出所有啟動的unit。加上 –all 才會列出沒啟動的unit; - list-unit-files:依據(jù)/usr/lib/systemd/system/ 內的啟動文件吼畏,列出啟動文件列表
–type=TYPE- 為unit type, 主要有service, socket, target
應用舉例:
systemctl命令說明
systemctl列出所有的系統(tǒng)服務
systemctl list-units列出所有啟動unit
systemctl list-unit-files列出所有啟動文件
systemctl list-units –type=service –all列出所有service類型的unit
systemctl list-units –type=service –all grep cpu列出 cpu電源管理機制的服務
systemctl list-units –type=target –all列出所有target
systemctl命令說明
systemctl is-active [unit type]查看服務是否運行
systemctl is-enable [unit type]查看服務是否設置為開機啟動
systemctl mask [unit type]注銷指定服務
systemctl unmask [unit type]取消注銷指定服務
應用舉例:
#查看網(wǎng)絡服務是否啟動systemctl is-active network.service#檢查網(wǎng)絡服務是否設置為開機啟動systemctl is-enable network.service#停止cups服務systemctl stop cups.service#注銷cups服務systemctl mask cups.service#查看cups服務狀態(tài)systemctl status cups.service#取消注銷cups服務systemctl unmask cups.service
init命令systemctl命令說明
init 0systemctl poweroff系統(tǒng)關機
init 6systemctl reboot重新啟動
與開關機相關的其他命令:
systemctl命令說明
systemctl suspend進入睡眠模式
systemctl hibernate進入休眠模式
systemctl rescue強制進入救援模式
systemctl emergency強制進入緊急救援模式
init級別systemctl target
0shutdown.target
1emergency.target
2rescure.target
3multi-user.target
4無
5graphical.target
6無
此外還是一個getty.target用來設置tty的數(shù)量。
命令格式:
systemctl[command][unit.target]
參數(shù)詳解:
command:
get-default :取得當前的target
set-default :設置指定的target為默認的運行級別
isolate :切換到指定的運行級別
unit.target :為5.1表中列出的運行級別
systemctl命令說明
systemctl get-default獲得當前的運行級別
systemctl set-default multi-user.target設置默認的運行級別為mulit-user
systemctl isolate multi-user.target在不重啟的情況下没卸,切換到運行級別mulit-user下
systemctl isolate graphical.target在不重啟的情況下,切換到圖形界面下
命令格式:
systemctl list-dependencies[unit][–reverse]
–reverse是用來檢查尋哪個unit使用了這個unit
應用舉例:
#獲得當前運行級別的target[root@www ~]# systemctl get-defaultmulti-user.target#查看當前運行級別target(mult-user)啟動了哪些服務[root@www ~]# systemctl list-dependenciesdefault.target├─abrt-ccpp.service├─abrt-oops.service├─vsftpd.service├─basic.target│ ├─alsa-restore.service│ ├─alsa-state.service.....(中間省略).....│ ├─sockets.target│ │ ├─avahi-daemon.socket│ │ ├─dbus.socket.....(中間省略).....│ ├─sysinit.target│ │ ├─dev-hugepages.mount│ │ ├─dev-mqueue.mount.....(中間省略).....│ └─timers.target│? └─systemd-tmpfiles-clean.timer├─getty.target│ └─getty@tty1.service└─remote-fs.target#查看哪些target引用了當前運行級別的target[root@www ~]# systemctl list-dependencies --reversedefault.target└─graphical.target
在使用systemctl關閉網(wǎng)絡服務時有一些特殊 需要同時關閉unit.servce和unit.socket
使用systemctl查看開啟的sshd服務
[root@www system]#? systemctl list-units --all | grep sshdsshd-keygen.service loaded inactive dead? ? ? ? OpenSSH Server Key Generationsshd.service? ? ? ? loaded active? running? ? OpenSSH server daemonsshd.socket? ? ? ? loaded inactive dead? ? ? ? OpenSSH Server Socket
可以看到系統(tǒng)同時開啟了sshd.service和sshd.socket, 如果只閉關了sshd.service那么sshd.socket還在監(jiān)聽網(wǎng)絡,在網(wǎng)絡上有要求連接 sshd 時就會啟動sshd.service迁筛。因此如果想完全關閉sshd服務的話煤蚌,需要同時停用sshd.service和sshd.socket。
systemctl stop sshd.service
systemctl stop sshd.socket
systemctl disable sshd.service sshd.socket
由于centos 7.x默認沒有安裝net-tools细卧,因此無法使用netstat 來查看主機開發(fā)的商品尉桩。需要通過yum安裝來獲得該工具包:
yum -y install net-tools
查看是否關閉22端口
netstat -lnp |grep sshd
Centos 7.x 中取消了iptables, 用firewall取而代之酒甸。要關閉防火墻并禁止開機啟動服務使用下面的命令:
systemctl stop firewalld.service
systemctl disable firewalld.service