20170905 管理systemd(一)

  • systemd基本概念
  • systemd管理服務
  • systemd管理運行級別
  • systemd其他命令

一骚亿、systemd基本概念

(一)systemd簡要介紹

  • 定義
    系統(tǒng)啟動和服務器守護進程管理器,負責在系統(tǒng)啟動或運行時,激活系統(tǒng)資源煤蚌,服務器進程和其它進程

  • 新特性

    • 系統(tǒng)引導時實現服務并行啟動
    • 按需啟動守護進程
    • 自動化的服務依賴關系管理
    • 同時采用socket式與D-Bus總線式激活服務
    • 系統(tǒng)狀態(tài)快照
  • systemd核心概念unit
    unit表示不同類型的systemd對象嚎花,通過配置文件進行標識和配置撩嚼;文件中主要包含了系統(tǒng)服務捆憎、監(jiān)聽socket、保存的系統(tǒng)快照以及其它與init相關的信息

  • 配置文件

    • /usr/lib/systemd/system:每個服務最主要的啟動腳本設置迟隅,類似于之前的/etc/init.d/
    • /run/systemd/system:系統(tǒng)執(zhí)行過程中所產生的服務腳本但骨,比上面目錄優(yōu)先運行
    • /etc/systemd/system:管理員建立的執(zhí)行腳本,類似于/etc/rc.d/rcN.d/Sxx類的功能玻淑,比上面目錄優(yōu)先運行

(二)systemd的unit類型

  • systemctl -t help:查看unit類型
  • service unit:文件擴展名為.service嗽冒,用于定義系統(tǒng)服務
  • target unit:文件擴展名為.target,用于模擬實現運行級別
  • device unit:文件擴展名為.device补履,用于定義內核識別的設備
  • mount unit:文件擴展名為.mount添坊,定義文件系統(tǒng)掛載點
  • socket unit:文件擴展名為.socket,用于標識進程間通信用的socket文件箫锤,也可在系統(tǒng)啟動時贬蛙,延遲啟動服務雨女,實現按需啟動
  • snapshot unit:文件擴展名為.snapshot,管理系統(tǒng)快照
  • swap unit:文件擴展名為.swap阳准,用于標識swap設備
  • automount unit:文件擴展名為.automount氛堕,文件系統(tǒng)的自動掛載點
  • path unit:文件擴展名為.path,用于定義文件系統(tǒng)中的一個文件或目錄使用野蝇,常用于當文件系統(tǒng)變化時讼稚,延遲激活服務,如:spool 目錄

(三)systemd的特性

  • 關鍵特性

    • 基于socket的激活機制:socket與服務程序分離
    • 向后兼容sysvinit腳本
  • 不兼容:

    • systemctl命令固定不變绕沈,不可擴展
    • 非由systemd啟動的服務锐想,systemctl無法與之通信和控制

二、systemd管理服務

  • 語法:systemctl COMMAND name.service

(一)管理服務

  • 啟動:systemctl start name.service乍狐,相當于CentOS6的service name start
  • 停止:systemctl stop name.service赠摇,相當于CentOS6的service name stop
  • 重啟:systemctl restart name.service,相當于CentOS6的service name restart
  • 狀態(tài):systemctl status name.service浅蚪,相當于CentOS6的service name status
  • 條件式重啟:已啟動才重啟藕帜,否則不做操作
    systemctl try-restart name.service,相當于CentOS6的service name condrestart
    如下圖:之前sshd服務未啟動惜傲,使用條件式重啟時發(fā)現服務未開啟洽故,未做任何操作,故查詢狀態(tài)仍舊是inactive
  • 重載或重啟服務:先加載操漠,再啟動
    systemctl reload-or-restart name.service
  • 重載或條件式重啟服務:
    systemctl reload-or-try-restart name.service
  • 禁止自動和手動啟動:
    systemctl mask name.service
  • 取消禁止自動和手動啟動:
    systemctl unmask name.service
    如圖:可以看出mask和umask命令實際為建立/刪除指向/dev/null的軟鏈接
  • 實驗:修改unit
    修改/usr/lib/systemd/system/sshd.service文件收津,將Description改為OpenSSH new server daemon,此時用systemctl status sshd.service查看服務狀態(tài)浊伙,發(fā)現服務正常運行,但名稱沒有改變

根據狀態(tài)信息的提示长捧,執(zhí)行systemctl daemon-reload嚣鄙,再查看狀態(tài)發(fā)現名稱改變了

當服務正在運行時,對服務的unit文件的改動必須進行重載才能更新

(二)查看服務

  • 查看某服務當前激活與否的狀態(tài):
    systemctl is-active name.service
  • 查看所有已經激活的服務:
    systemctl list-units --type|-t service
  • 查看所有服務:
    systemctl list-units --type|-t service --all|-a

(三)設置服務開機自啟狀態(tài)

  • 設定某服務開機自啟:
    systemctl enable name.service串结,相當于CentOS6的chkconfig name on

  • 設定某服務開機禁止啟動:
    systemctl disable name.service哑子,相當于CentOS6的chkconfig name off

  • 查看所有服務的開機自啟狀態(tài):
    systemctl list-unit-files --type|-t service,相當于CentOS6的chkconfig --list

  • 用來列出該服務在哪些運行級別下啟用和禁用:
    ls /etc/systemd/system/*.wants/sshd.service肌割,相當于CentOS6的chkconfig sshd --list

  • 實驗:設置服務自啟和禁止自啟

    (1)ntpdate.service服務原先禁止自啟[紅框1]卧蜓。
    (2)執(zhí)行systemctl enabel ntpdate.service命令,設置ntpdate.service服務為自啟把敞,提示建立了軟鏈接文件[紅框2]弥奸。
    (3)此時刪除軟鏈接文件后,發(fā)現ntpdate.service服務仍舊為禁止自啟狀態(tài)[紅框3]奋早。
    (4)按照之前的提示信息盛霎,手動建立軟鏈接文件
    ln -s /usr/lib/systemd/system/ntpdate.service /etc/systemd/system/multi-user.target.wants/ntpdate.service赠橙。
    (5)再查詢發(fā)現ntpdate.service服務的狀態(tài)變?yōu)樽詥紅框4]。

    (6)執(zhí)行systemctl disable ntpdate.service命令愤炸,提示刪除了軟鏈接文件期揪。
    (7)使用ls命令查詢提示信息路徑,確實文件已經消失规个。
    (8)執(zhí)行systemctl is-enabled ntpdate.service命令凤薛,確認當前ntpdate服務處于禁止自啟狀態(tài)。

    總結:將某個服務設為自啟或者禁止自啟诞仓,實際上就是在相應的文件夾建立軟鏈接文件的過程缤苫,systemd通過查詢軟鏈接文件的存在與否判斷啟用/禁止自啟的狀態(tài)。

(四)其他命令

  • 查看服務是否開機自啟:
    systemctl is-enabled name.service

  • 查看服務的依賴關系:
    systemctl list-dependencies name.service

  • 殺掉進程:
    systemctl kill unitname

(五)服務狀態(tài)

  • 顯示狀態(tài):systemctl list-unit-files --type service --all
    • loaded:unit配置文件已處理
    • active(running):一次或多次持續(xù)處理的運行
    • active(exited):成功完成一次性的配置
    • active(waiting):運行中狂芋,等待一個事件
    • inactive:不運行
    • enabled:開機啟動
    • disabled:開機不啟動
    • static:開機不啟動榨馁,但可被另一個啟用的服務激活

三、systemd管理運行級別

(一)target的基本概念

  • target:systemd的運行級別管理unit

  • 路徑:/usr/lib/systemd/system/*.target

  • 顯示狀態(tài):systemd list-unit-files --type target --all

  • systemd的運行級別與傳統(tǒng)運行級別的對應關系

    • runlevel0.target, poweroff.target ==> 0
    • runlevel1.target, rescue.target ==> 1
    • runlevel2.target, multi-user.target ==> 2
    • runlevel3.target, multi-user.target ==> 3
    • runlevel4.target, multi-user.target ==> 4
    • runlevel5.target, graphical.target ==> 5
    • runlevel6.target, reboot.target ==> 6
  • 查看target的依賴關系:
    systemctl list-dependencies name.target

(二)級別切換

  • 級別切換:systemctl isolate name.target
    注:只有/lib/systemd/system/*.target文件中AllowIsolate=yes 才能切換(修改文件需執(zhí)行systemctl daemon-reload才能生效)

  • 顯示狀態(tài):systemctl list-unit-files --type target -all

  • 獲取默認運行級別:
    systemctl get-default

  • 修改默認級別:
    systemctl set-default name.target

  • 實驗:將默認級別由multi-user改為graphical

四帜矾、systemd其他命令

  • 切換至緊急救援模式:
    systemctl rescue

  • 切換至emergency模式:
    systemctl emergency

  • 其它常用命令:

    • 傳統(tǒng)命令init翼虫,poweroff,halt屡萤,reboot都成為systemctl的軟鏈接
    • 關機:systemctl halt珍剑、systemctl poweroff
    • 重啟:systemctl reboot
    • 掛起:systemctl suspend
    • 休眠:systemctl hibernate
    • 休眠并掛起:systemctl hybrid-sleep
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市死陆,隨后出現的幾起案子招拙,更是在濱河造成了極大的恐慌,老刑警劉巖措译,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件别凤,死亡現場離奇詭異,居然都是意外死亡领虹,警方通過查閱死者的電腦和手機规哪,發(fā)現死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來塌衰,“玉大人诉稍,你說我怎么就攤上這事∽罱” “怎么了杯巨?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長努酸。 經常有香客問我服爷,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任层扶,我火速辦了婚禮箫章,結果婚禮上,老公的妹妹穿的比我還像新娘镜会。我一直安慰自己檬寂,他們只是感情好,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布戳表。 她就那樣靜靜地躺著桶至,像睡著了一般。 火紅的嫁衣襯著肌膚如雪匾旭。 梳的紋絲不亂的頭發(fā)上镣屹,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天,我揣著相機與錄音价涝,去河邊找鬼女蜈。 笑死,一個胖子當著我的面吹牛色瘩,可吹牛的內容都是我干的伪窖。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼居兆,長吁一口氣:“原來是場噩夢啊……” “哼覆山!你這毒婦竟也來了?” 一聲冷哼從身側響起泥栖,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤簇宽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后吧享,有當地人在樹林里發(fā)現了一具尸體魏割,經...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年钢颂,在試婚紗的時候發(fā)現自己被綠了见妒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡甸陌,死狀恐怖,靈堂內的尸體忽然破棺而出盐股,到底是詐尸還是另有隱情钱豁,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布疯汁,位于F島的核電站牲尺,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜谤碳,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一溃卡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜒简,春花似錦瘸羡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至卷仑,卻和暖如春峻村,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锡凝。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工粘昨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窜锯。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓张肾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親衬浑。 傳聞我的和親對象是個殘疾皇子捌浩,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內容

  • 啟動流程:POST --> Boot Sequence --> Bootloader --> kernel +in...
    尛尛大尹閱讀 1,018評論 0 1
  • muahao閱讀 2,069評論 0 3
  • systemd攻略 相關文檔 arch 的 systemd 說明頁面 (簡體中文) fedora 的 system...
    muahao閱讀 11,625評論 0 12
  • systemd攻略 轉自http://www.reibang.com/p/d5305104d03a或者這個http...
    x1596357閱讀 2,853評論 0 3
  • tl;dr應用場景:對日常系統(tǒng)啟動過程進行管理,優(yōu)化啟動速度工秩。 1. systemd原理 1.1 基礎概念-Uni...
    mst7閱讀 5,054評論 0 8