大多數(shù)主流發(fā)行版要么已經(jīng)采用 Systemd,要么即將在下個(gè)發(fā)布中采用(如 Debian 和 Ubuntu)。在本教程中,我們使用 Fedora 21(該發(fā)行版已經(jīng)是 Systemd 的優(yōu)秀實(shí)驗(yàn)場地)的一個(gè)預(yù)覽版進(jìn)行演示,但不論您用哪個(gè)發(fā)行版,要用到的命令和注意事項(xiàng)都應(yīng)該是一樣的。這是 Systemd 的一個(gè)加分點(diǎn):它消除了不同發(fā)行版之間許多細(xì)微且瑣碎的區(qū)別。
在終端中輸入 ps ax | grep systemd
,看到第一行,其中的數(shù)字 1 表示它的進(jìn)程號是1,也就是說它是 Linux 內(nèi)核發(fā)起的第一個(gè)程序。因此,內(nèi)核一旦檢測完硬件并組織好了內(nèi)存,就會(huì)運(yùn)行 /usr/lib/systemd/systemd
可執(zhí)行程序,這個(gè)程序會(huì)按順序依次發(fā)起其他程序。(在還沒有 Systemd 的日子里,內(nèi)核會(huì)去運(yùn)行 /sbin/init
,隨后這個(gè)程序會(huì)在名為 SysVinit 的系統(tǒng)中運(yùn)行其余的各種啟動(dòng)腳本。)
Systemd 的核心是一個(gè)叫單元 (unit)的概念,它是一些存有關(guān)于服務(wù)(service)(在運(yùn)行在后臺(tái)的程序)、設(shè)備、掛載點(diǎn)、和操作系統(tǒng)其他方面信息的配置文件。Systemd 的其中一個(gè)目標(biāo)就是簡化這些事物之間的相互作用,因此如果你有程序需要在某個(gè)掛載點(diǎn)被創(chuàng)建或某個(gè)設(shè)備被接入后開始運(yùn)行,Systemd 可以讓這一切正常運(yùn)作起來變得相當(dāng)容易。(在沒有 Systemd 的日子里,要使用腳本來把這些事情調(diào)配好,那可是相當(dāng)丑陋的。)要列出您 Linux 系統(tǒng)上的所有單元,輸入以下命令:
systemctllist-unit-files
現(xiàn)在,systemctl
是與 Systemd 交互的主要工具,它有不少選項(xiàng)。在單元列表中,您會(huì)注意到這兒有一些格式化:被使能(enabled)的單元顯示為綠色,被禁用(disabled)的顯示為紅色。標(biāo)記為“static”的單元不能直接啟用,它們是其他單元所依賴的對象。若要限制輸出列表只包含服務(wù),使用以下命令:
systemctllist-unit-files --type=service
注意,一個(gè)單元顯示為“enabled”,并不等于對應(yīng)的服務(wù)正在運(yùn)行,而只能說明它可以被開啟。要獲得某個(gè)特定服務(wù)的信息,以 GDM (Gnome Display Manager) 為例,輸入以下命令:
systemctl status gdm.service
這條命令提供了許多有用的信息:一段給人看的服務(wù)描述、單元配置文件的位置、啟動(dòng)的時(shí)間、進(jìn)程號,以及它所從屬的 CGroups(用以限制各組進(jìn)程的資源開銷)。
如果您去查看位于 /usr/lib/systemd/system/gdm.service
的單元配置文件,您可以看到各種選項(xiàng),包括要被運(yùn)行的二進(jìn)制文件(“ExecStart”那一行),相沖突的其他單元(即不能同時(shí)進(jìn)入運(yùn)行的單元),以及需要在本單元執(zhí)行前進(jìn)入運(yùn)行的單元(“After”那一行)。一些單元有附加的依賴選項(xiàng),例如“Requires”(必要的依賴)和“Wants”(可選的依賴)。
此處另一個(gè)有趣的選項(xiàng)是:
Alias=display-manager.service
當(dāng)您啟動(dòng) gdm.service 后,您將可以通過 systemctl status display-manager.service
來查看它的狀態(tài)。當(dāng)您知道有顯示管理程序 (display manager)在運(yùn)行并想對它做點(diǎn)什么,但您不關(guān)心那究竟是 GDM,KDM,XDM 還是什么別的顯示管理程序時(shí),這個(gè)選項(xiàng)會(huì)非常有用。
使用 systemctl status 命令后面跟一個(gè)單元名,來查看對應(yīng)的服務(wù)有什么情況。
![]() | ![]() .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書籍 |
![]() | ![]() .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書籍 |