從CentOS 7.x開(kāi)始,CentOS開(kāi)始使用systemd服務(wù)來(lái)代替daemon,,原來(lái)管理系統(tǒng)啟動(dòng)和管理系統(tǒng)服務(wù)的相關(guān)命令全部由systemctl命令來(lái)代替,。
1、原來(lái)的 service 命令與 systemctl 命令對(duì)比
daemon命令 |
systemctl命令 |
說(shuō)明 |
service [服務(wù)] start |
systemctl start [unit type] |
啟動(dòng)服務(wù) |
service [服務(wù)] stop |
systemctl stop [unit type] |
停止服務(wù) |
service [服務(wù)] restart |
systemctl restart [unit type] |
停止服務(wù) |
此外還是二個(gè)systemctl參數(shù)沒(méi)有與service命令參數(shù)對(duì)應(yīng)
status :參數(shù)來(lái)查看服務(wù)運(yùn)行情況
reload :重新加載服務(wù),,加載更新后的配置文件(并不是所有服務(wù)都支持這個(gè)參數(shù),,比如network.service)
應(yīng)用舉例:
#啟動(dòng)網(wǎng)絡(luò)服務(wù)
systemctl start network.service
#停止網(wǎng)絡(luò)服務(wù)
systemctl stop network.service
#重啟網(wǎng)絡(luò)服務(wù)
systemctl restart network.service
#查看網(wǎng)絡(luò)服務(wù)狀態(tài)
systemctl status network.serivce
2、原來(lái)的chkconfig 命令與 systemctl 命令對(duì)比
2.1,、設(shè)置開(kāi)機(jī)啟動(dòng)/不啟動(dòng)
daemon命令 |
systemctl命令 |
說(shuō)明 |
chkconfig [服務(wù)] on |
systemctl enable [unit type] |
設(shè)置服務(wù)開(kāi)機(jī)啟動(dòng) |
chkconfig [服務(wù)] off |
systemctl disable [unit type] |
設(shè)備服務(wù)禁止開(kāi)機(jī)啟動(dòng) |
應(yīng)用舉例:
#停止cup電源管理服務(wù)
systemctl stop cups.service
#禁止cups服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl disable cups.service
#查看cups服務(wù)狀態(tài)
systemctl status cups.service
#重新設(shè)置cups服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable cups.service
2.2,、查看系統(tǒng)上上所有的服務(wù)
命令格式:
systemctl [command] [–type=TYPE] [–all]
參數(shù)詳解:
command
list-units:依據(jù)unit列出所有啟動(dòng)的unit。加上 –all 才會(huì)列出沒(méi)啟動(dòng)的unit;
list-unit-files:依據(jù)/usr/lib/systemd/system/ 內(nèi)的啟動(dòng)文件,,列出啟動(dòng)文件列表
–type=TYPE
為unit type, 主要有service, socket, target
應(yīng)用舉例:
systemctl命令 |
說(shuō)明 |
systemctl |
列出所有的系統(tǒng)服務(wù) |
systemctl list-units |
列出所有啟動(dòng)unit |
systemctl list-unit-files |
列出所有啟動(dòng)文件 |
systemctl list-units –type=service –all |
列出所有service類(lèi)型的unit |
systemctl list-units –type=service –all |grep cpu |
列出 cpu電源管理機(jī)制的服務(wù) |
systemctl list-units –type=target –all |
列出所有target |
3,、systemctl特殊的用法
systemctl 命令 |
說(shuō)明 |
systemctl is-active [unit type] |
查看服務(wù)是否運(yùn)行 |
systemctl is-enable [unit type] |
查看服務(wù)是否設(shè)置為開(kāi)機(jī)啟動(dòng) |
systemctl mask [unit type] |
注銷(xiāo)指定服務(wù)] |
systemctl unmask [unit type] |
取消注銷(xiāo)指定服務(wù) |
應(yīng)用舉例:
#查看網(wǎng)絡(luò)服務(wù)是否啟動(dòng)
systemctl is-active network.service
#檢查網(wǎng)絡(luò)服務(wù)是否設(shè)置為開(kāi)機(jī)啟動(dòng)
systemctl is-enable network.service
#停止cups服務(wù)
systemctl stop cups.service
#注銷(xiāo)cups服務(wù)
systemctl mask cups.service
#查看cups服務(wù)狀態(tài)
systemctl status cups.service
#取消注銷(xiāo)cups服務(wù)
systemctl unmask cups.service
4、init 命令與systemctl命令對(duì)比
init命令 |
systemctl命令 |
說(shuō)明 |
init 0 |
systemctl poweroff |
系統(tǒng)關(guān)機(jī) |
init 6 |
systemctl reboot |
重新啟動(dòng) |
與開(kāi)關(guān)機(jī)相關(guān)的其他命令:
systemctl命令 |
說(shuō)明 |
systemctl suspend |
進(jìn)入睡眠模式 |
systemctl hibernate |
進(jìn)入休眠模式 |
systemctl rescue |
強(qiáng)制進(jìn)入救援模式 |
systemctl emergency |
強(qiáng)制進(jìn)入緊急救援模式 |
5,、設(shè)置系統(tǒng)運(yùn)行級(jí)別
5.1,、運(yùn)行級(jí)別對(duì)應(yīng)表
init級(jí)別 |
systemctl target |
0 |
shutdown.target |
1 |
emergency.target |
2 |
rescure.target |
3 |
multi-user.target |
4 |
無(wú) |
5 |
graphical.target |
6 |
無(wú) |
此外還是一個(gè)getty.target用來(lái)設(shè)置tty的數(shù)量。
5.2,、設(shè)置運(yùn)行級(jí)別
命令格式:
systemctl [command] [unit.target]
參數(shù)詳解:
command:
get-default :取得當(dāng)前的target
set-default :設(shè)置指定的target為默認(rèn)的運(yùn)行級(jí)別
isolate :切換到指定的運(yùn)行級(jí)別
unit.target :為5.1表中列出的運(yùn)行級(jí)別
systemctl命令 |
說(shuō)明 |
systemctl get-default |
獲得當(dāng)前的運(yùn)行級(jí)別 |
systemctl set-default multi-user.target |
設(shè)置默認(rèn)的運(yùn)行級(jí)別為mulit-user |
systemctl isolate multi-user.target |
在不重啟的情況下,,切換到運(yùn)行級(jí)別mulit-user下 |
systemctl isolate graphical.target |
在不重啟的情況下,切換到圖形界面下 |
6,、使用systemctl分析各服務(wù)之前的依賴(lài)關(guān)系
命令格式:
systemctl list-dependencies [unit] [–reverse]
–reverse是用來(lái)檢查尋哪個(gè)unit使用了這個(gè)unit
應(yīng)用舉例:
#獲得當(dāng)前運(yùn)行級(jí)別的target
[root@www ~]# systemctl get-default
multi-user.target
#查看當(dāng)前運(yùn)行級(jí)別target(mult-user)啟動(dòng)了哪些服務(wù)
[root@www ~]# systemctl list-dependencies
default.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
│ └─[email protected]
└─remote-fs.target
#查看哪些target引用了當(dāng)前運(yùn)行級(jí)別的target
[root@www ~]# systemctl list-dependencies --reverse
default.target
└─graphical.target
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
7,、關(guān)閉網(wǎng)絡(luò)服務(wù)
在使用systemctl關(guān)閉網(wǎng)絡(luò)服務(wù)時(shí)有一些特殊
需要同時(shí)關(guān)閉unit.servce和unit.socket
使用systemctl查看開(kāi)啟的sshd服務(wù)
[root@www system]# systemctl list-units --all | grep sshd
sshd-keygen.service loaded inactive dead OpenSSH Server Key Generation
sshd.service loaded active running OpenSSH server daemon
sshd.socket loaded inactive dead OpenSSH Server Socket
可以看到系統(tǒng)同時(shí)開(kāi)啟了sshd.service和sshd.socket , 如果只閉關(guān)了sshd.service那么sshd.socket還在監(jiān)聽(tīng)網(wǎng)絡(luò),在網(wǎng)絡(luò)上有要求連接sshd時(shí)就會(huì)啟動(dòng)sshd.service,。因此如果想完全關(guān)閉sshd服務(wù)的話,,需要同時(shí)停用sshd.service和sshd.socket。
systemctl stop sshd.service
systemctl stop sshd.socket
systemctl disable sshd.service sshd.socket
由于centos 7.x默認(rèn)沒(méi)有安裝net-tools,,因此無(wú)法使用netstat 來(lái)查看主機(jī)開(kāi)發(fā)的商品,。需要通過(guò)yum安裝來(lái)獲得該工具包:
yum -y install net-tools
查看是否關(guān)閉22端口
netstat -lnp |grep sshd
8、關(guān)閉防火墻firewall
Centos 7.x 中取消了iptables, 用firewall取而代之,。要關(guān)閉防火墻并禁止開(kāi)機(jī)啟動(dòng)服務(wù)使用下面的命令:
systemctl stop firewalld.service
systemctl disable firewalld.service
|