(1)怎樣知道一個(gè)目標(biāo)需要哪些進(jìn)程服務(wù)?
例如,可能想搞明白目標(biāo)單元multi-user.target究竟啟用了哪些服務(wù),使用以下命令:
$systemctlshow-p"Wants"multi-user.target
Wants=rc-local.serviceavahi-daemon.servicerpcbind.serviceNetworkManager.serviceacpid.servicedbus.serviceatd.servicecrond.serviceauditd.servicentpd.serviceudisks.servicebluetooth.serviceorg.cups.cupsd.servicewpa_supplicant.servicegetty.targetmodem-manager.serviceportreserve.serviceabrtd.serviceyum-updatesd.serviceupowerd.servicetest-first.servicepcscd.servicersyslog.servicehaldaemon.serviceremote-fs.targetplymouth-quit.servicesystemd-update-utmp-runlevel.servicesendmail.servicelvm2-monitor.servicecpuspeed.serviceudev-post.servicemdmonitor.serviceiscsid.servicelivesys.servicelivesys-late.serviceirqbalance.serviceiscsi.service
除了Wants,還可以查看各種形式的依賴和被依賴信息:WantedBy、Requires、RequiredBy、Conflicts、ConflictedBy、Before、After。
(2)target與運(yùn)行級(jí)別
在RHEL7之前的版本,使用運(yùn)行級(jí)別代表特定的操作模式。運(yùn)行級(jí)別被定義為七個(gè)級(jí)別,用數(shù)字0到6表示,每個(gè)級(jí)別可以啟動(dòng)特定的一些服務(wù)。RHEL7使用target替換運(yùn)行基本。
systemd target使用target單元文件描述,target單位文件擴(kuò)展名是.target,target單元文件的唯一目標(biāo)是將其他systemd單元文件通過一連串的依賴關(guān)系組織在一起。舉個(gè)例子,graphical.target單元,用于啟動(dòng)一個(gè)圖形會(huì)話,systemd會(huì)啟動(dòng)像GNOME顯示管理(gdm.service)、帳號(hào)服務(wù)(axxounts-daemon)這樣的服務(wù),并且會(huì)激活multi-user.target單元。相似的multi-user.target單元,會(huì)啟動(dòng)必不可少的NetworkManager.service、dbus.service服務(wù),并激活basic.target單元。
RHEL7預(yù)定義了一些target和之前的運(yùn)行級(jí)別或多或少有些不同。為了兼容,systemd也提供一些target映射為SysV init的運(yùn)行級(jí)別,具體的對(duì)應(yīng)信息如下:
0runlevel0.target,poweroff.target關(guān)閉系統(tǒng)。
1runlevel1.target,rescue.target進(jìn)入救援模式。
2runlevel2.target,multi-user.target進(jìn)入非圖形界面的多用戶方式。
3runlevel3.target,multi-user.target進(jìn)入非圖形界面的多用戶方式。
4runlevel4.target,multi-user.target進(jìn)入非圖形界面的多用戶方式。
5runlevel5.target,graphical.target進(jìn)入圖形界面的多用戶方式。
6runlevel6.target,reboot.target重啟系統(tǒng)。
(3)target管理
1)使用如下命令查看目前可用的target:
systemctl list-units --type target
改變當(dāng)前的運(yùn)行基本使用如下命令:
systemctl isolate name.target
2)修改默認(rèn)的運(yùn)行級(jí)別
使用systemctl get-default命令得到默認(rèn)的運(yùn)行級(jí)別:
[root@localhost~]#systemctlget-default
multi-user.target
使用systemctl set-default name.target修改默認(rèn)的運(yùn)行基本
[root@localhost~]#systemctlset-defaultgraphical.target
rm'/etc/systemd/system/default.target'
ln-s'/usr/lib/systemd/system/graphical.target''/etc/systemd/system/default.target'
3)救援模式和緊急模式
使用systemctl rescue進(jìn)入救援模式,如果連救援模式都進(jìn)入不了,可以進(jìn)入緊急模式:
systtmctl emergency
緊急模式進(jìn)入做小的系統(tǒng)環(huán)境,以便于修復(fù)系統(tǒng)。緊急模式根目錄以只讀方式掛載,不激活網(wǎng)絡(luò),只啟動(dòng)很少的服務(wù),進(jìn)入緊急模式需要root密碼。