摘要:系統(tǒng)啟動(dòng)和服務(wù)器守護(hù)進(jìn)程管理器,負(fù)責(zé)在系統(tǒng)啟動(dòng)或運(yùn)行時(shí),激活系統(tǒng)資源,服務(wù)器進(jìn)程和其他進(jìn)程,根據(jù)管理,字母是守護(hù)進(jìn)程的縮寫,這個(gè)名字的含義就是它要守護(hù)整個(gè)系統(tǒng)。該命令可用于查看系統(tǒng)狀態(tài)和管理系統(tǒng)及服務(wù)。
博文參考
http://www.178linux.com/48343 http://www.178linux.com/48674 http://www.178linux.com/48563 http://www.jinbuguo.com/systemd/index.htmlsystemd簡(jiǎn)介
Systemd是由紅帽公司的一名叫做Lennart Poettering的員工開(kāi)發(fā),systemd是Linux系統(tǒng)中最新的初始化系統(tǒng)(init),它主要的設(shè)計(jì)目的是克服Sys V 固有的缺點(diǎn),提高系統(tǒng)的啟動(dòng)速度,systemd和upstart是競(jìng)爭(zhēng)對(duì)手,ubantu上使用的是upstart的啟動(dòng)方式,centos7上使用systemd替換了Sys V,Systemd目錄是要取代Unix時(shí)代依賴一直在使用的init系統(tǒng),兼容SysV和LSB的啟動(dòng)腳本,而且能夠在進(jìn)程啟動(dòng)中更有效地引導(dǎo)加載服務(wù)。 system:系統(tǒng)啟動(dòng)和服務(wù)器守護(hù)進(jìn)程管理器,負(fù)責(zé)在系統(tǒng)啟動(dòng)或運(yùn)行時(shí),激活系統(tǒng)資源,服務(wù)器進(jìn)程和其他進(jìn)程,根據(jù)管理,字母d是守護(hù)進(jìn)程(daemon)的縮寫,systemd這個(gè)名字的含義就是它要守護(hù)整個(gè)系統(tǒng)。systemd新特性
系統(tǒng)引導(dǎo)時(shí)實(shí)現(xiàn)服務(wù)并行啟動(dòng) 按需啟動(dòng)守護(hù)進(jìn)程 自動(dòng)化的服務(wù)依賴關(guān)系管理 同時(shí)采用socket式與D-Bus總線式激活服務(wù) 系統(tǒng)狀態(tài)快照和恢復(fù) 利用Linux的cgroups監(jiān)視進(jìn)程 維護(hù)掛載點(diǎn)和自動(dòng)掛載點(diǎn) 各服務(wù)間基于依賴關(guān)系進(jìn)行精密控制systemd核心概念
unit表示不同類型的sytemd對(duì)象,通過(guò)配置文件進(jìn)行標(biāo)識(shí)和配置,文件中主要包含了系統(tǒng)服務(wù),監(jiān)聽(tīng)socket、保存的系統(tǒng)快照以及其他與init相關(guān)的信息
配置文件:
/usr/lib/systemd/system:每個(gè)服務(wù)最主要的啟動(dòng)腳本設(shè)置,類似于之前的/etc/initd.d
/run/system/system:系統(tǒng)執(zhí)行過(guò)程中所產(chǎn)生的服務(wù)腳本,比上面的目錄優(yōu)先運(yùn)行
/etc/system/system:管理員建立的執(zhí)行腳本,類似于/etc/rc.d/rcN.d/Sxx類的功能,比上面目錄優(yōu)先運(yùn)行,在三者之中,此目錄優(yōu)先級(jí)最高
Unit類型systemctl -t help 查看unit類型 service unit:文件擴(kuò)展名為.service,用于定義系統(tǒng)服務(wù) target unit:文件擴(kuò)展名為.target,用于模擬實(shí)現(xiàn)“運(yùn)行級(jí)別” device unit:.device,,用于定義內(nèi)核識(shí)別的設(shè)備 mount unit .mount,定義文件系統(tǒng)掛載點(diǎn) socket unit .socket,用于標(biāo)識(shí)進(jìn)程間通信用的socket文件,也可以在系統(tǒng)啟動(dòng)時(shí),延遲啟動(dòng)服務(wù),實(shí)現(xiàn)按需啟動(dòng) snapshot unit:.snapshot,關(guān)系系統(tǒng)快照 swap unit:.swap,用于表示swap設(shè)備 automount unit:.automount,文件系統(tǒng)的自動(dòng)掛載點(diǎn)如:/misc目錄 path unit:.path,用于定義文件系統(tǒng)中的一個(gè)文件或目錄使用,常用于當(dāng)文件系統(tǒng)變化時(shí),延遲激活服務(wù),如spool目錄 time :.timer由systemd管理的計(jì)時(shí)器
使用systemctl控制單元時(shí),通常需要使用單元文件的全名,包括擴(kuò)展名,但是有些單元可以在systemctl中使用簡(jiǎn)寫方式 如果無(wú)擴(kuò)展名,systemctl默認(rèn)把擴(kuò)展名當(dāng)做.service。例如netcfg和netcfg.service是等同的 掛載點(diǎn)會(huì)自動(dòng)轉(zhuǎn)化為相應(yīng)的.mount單元,例如/home等價(jià)于home.mount 設(shè)備會(huì)自動(dòng)轉(zhuǎn)化為相應(yīng)的.device單元,所以/dev/sd2等價(jià)于dev-sda2.device關(guān)鍵特性
基于socket的激活機(jī)制:socket與服務(wù)進(jìn)程分離 基于D-Bus的激活機(jī)制 基于device的激活機(jī)制 基于path的激活機(jī)制 系統(tǒng)快照:保存各unit的當(dāng)前狀態(tài)信息于持久存儲(chǔ)設(shè)備中想后兼容sysv init腳本不兼容
systemctl命令固定不變,不可擴(kuò)展 非由systemd啟動(dòng)的服務(wù),systemctl無(wú)語(yǔ)與之通信和控制,如:使用之前sys v風(fēng)格管理的進(jìn)程就無(wú)法收 systemd控制systemd基本工具
監(jiān)視和控制systemd的主要命令是systemctl。該命令可用于查看系統(tǒng)狀態(tài)和管理系統(tǒng)及服務(wù)。
管理服務(wù)
命令:systemctl command name.service 啟動(dòng):service name start –>systemctl start name.service 停止:service name stop –>systemctl stop name.service 重啟:service name restart–>systemctl restart name.service 狀態(tài):service name status–>systemctl status name.service
條件式重啟
已啟動(dòng)才重啟,否則不做任何操作 systemctl try-restart name.service
重載或重啟服務(wù)
先加載,然后再啟動(dòng) systemctl reload-or-try-restart name.service
禁止自動(dòng)和手動(dòng)啟動(dòng)
systemctl mask name.service 執(zhí)行此條命令實(shí)則創(chuàng)建了一個(gè)鏈接ln -s "/dev/null" "/etc/systemd/system/sshd.service"
取消禁止
systemctl unmask name.service 刪除此前創(chuàng)建的鏈接
服務(wù)查看
查看某服務(wù)當(dāng)前激活與否的狀態(tài) systemctl is-active name.service 如果啟動(dòng)會(huì)顯示active,否則會(huì)顯示unknown
查看所有已經(jīng)激活的服務(wù)
systemctl list-units –t|–type service
查看所有服務(wù)
設(shè)定某服務(wù)開(kāi)機(jī)啟動(dòng)
chkconfig name on–>systemctl enable name.service
設(shè)定某服務(wù)開(kāi)機(jī)禁止啟動(dòng)
chkconfig name off –>systemctl disable name.service
查看所有服務(wù)的開(kāi)機(jī)自啟狀態(tài)
chkconfig –list–>systemctl list-unit-files -t service
用來(lái)列出該服務(wù)在那些運(yùn)行級(jí)別下啟用或禁用
chkconfig sshd –list –>ls /etc/system/system/*.wants/sshd.service
[root@www ~]# ls /etc/systemd/system/*.wants/sshd.service
/etc/systemd/system/multi-user.target.wants/sshd.service
查看服務(wù)是否開(kāi)機(jī)自啟
systemctl is-enabled name.servcice
查看服務(wù)的依賴關(guān)系
systemctl list-dependencies
查看啟動(dòng)失敗的服務(wù)
systemctl -failed -t service
查看服務(wù)單元的啟用和禁用狀態(tài)
systemctl list-unit-files –t=service
殺死進(jìn)程
systemctl kill 進(jìn)程名
服務(wù)狀態(tài)
systemctl list-units -t service -a 顯示狀態(tài)
loaded:unit配置文件已處理
active(running):一次或多次持續(xù)處理的運(yùn)行
active(exited):成功完成一次性的配置
active(waiting):運(yùn)行中,等待一個(gè)事件
inactive:不運(yùn)行
enabled:開(kāi)機(jī)啟動(dòng)
disabled:開(kāi)機(jī)不啟動(dòng)
static:開(kāi)機(jī)不啟動(dòng),但可以被另一個(gè)啟用的服務(wù)激活
運(yùn)行級(jí)別
target units:
unit配置文件:.target 以target結(jié)尾的文件
ls /usr/lib/system/system/*.target
systemctl list-unit-files -type target -all
0–>runlevel0.target, poweroff.target
1–>runlevel1.target, rescue.target
2–>runlevel2.target, muti-user.target
3–>runlevel3.target, mutil-user.target
4–>runlevel4.target, multi-user.target
5–>runlevel5.target, graphical.target
6–>runlevel6.target, reboot.target
查看依賴性
systemctl list-dependencies graphical.target
查看默認(rèn)運(yùn)行級(jí)別
systemctl get-default 在Sys V風(fēng)格的系統(tǒng)上是查看/etc/inittab文件其中有一條id:5:initdefault:
級(jí)別切換
systemctl isolate muti-user.target 注意:只有當(dāng)/lib/system/system/*.target文件中AllowIsolate=yes時(shí)才能奇幻(修改文件需執(zhí)行systemctl daemon-reload生效)
設(shè)定默認(rèn)運(yùn)行級(jí)別
systemctl set-default muti-user.target 實(shí)則將multi-user.target鏈接至default.target ls –l /etc/system/system/default.target
進(jìn)入緊急救援模式
systemctl rescue
切換至emergency模式
systemctl emergency
在systemd風(fēng)格的系統(tǒng)上還能使用sysv風(fēng)格系統(tǒng)上的關(guān)機(jī),重啟等命令,指示將該命令鏈接到systemctl的一個(gè)軟鏈接
關(guān)機(jī):systemctl halt systemctl poweroff 重啟:systemctl reboot 掛起:systemctl suspend 休眠:systemctl hibernate 休眠并掛起:systemctl hybrid-sleepCentOS7引導(dǎo)順序
1、 CentOS啟動(dòng)流程:POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> rootfs–> /sbin/init
UEFi或BIOS初始化,運(yùn)行POST開(kāi)機(jī)自檢
選擇啟動(dòng)設(shè)備
引導(dǎo)裝載程序, centos7是grub2
加載裝載程序的配置文件:/etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg(注:一般上修改grub.cfg配置文件,是直接修改/etc/default/grub,然后使用命令#grub2-mkconfig /boot/grub2/grub.cfg來(lái)生成修改 )
使用systemctl控制單元時(shí),通常需要使用單元文件的全名,包括擴(kuò)展名,但是有些單元可以在systemctl中使用簡(jiǎn)寫方式
如果無(wú)擴(kuò)展名,systemctl默認(rèn)把擴(kuò)展名當(dāng)做.service。例如netcfg和netcfg.service是等同的
掛載點(diǎn)會(huì)自動(dòng)轉(zhuǎn)化為相應(yīng)的.mount單元,例如/home等價(jià)于home.mount
設(shè)備會(huì)自動(dòng)轉(zhuǎn)化為相應(yīng)的.device單元,所以/dev/sd2等價(jià)于dev-sda2.device
加載initramfs驅(qū)動(dòng)模塊
加載內(nèi)核選項(xiàng)
內(nèi)核初始化,centos7使用systemd代替init
執(zhí)行initrd.target所有單元,包括掛載/etc/fstab
從initramfs根文件系統(tǒng)切換到磁盤根目錄
systemd執(zhí)行默認(rèn)target配置,配置文件/etc/systemd/default.target /etc/systemd/system/
systemd執(zhí)行sysinit.target初始化系統(tǒng)及basic.target準(zhǔn)備操作系統(tǒng)
systemd啟動(dòng)multi-user.target下的本機(jī)與服務(wù)器服務(wù)
systemd執(zhí)行multi-user.target下的/etc/rc.d/rc.local
systemd執(zhí)行multi-user.target下的getty.target及登入服務(wù)
systemd執(zhí)行g(shù)raphical需要的服務(wù)(此為圖形界面所有)
unit文件格式以#開(kāi)頭的行后面的內(nèi)容會(huì)被認(rèn)為是注釋 相關(guān)布爾值,1、yes、on、ture都是開(kāi)啟,0、no、off、false都是關(guān)閉 時(shí)間單位默認(rèn)是秒Unit文件組成
[Unit]:定義與Unit類型無(wú)關(guān)的通用選項(xiàng),用于提供unit的掃描信息,unit行為及依賴關(guān)系等 [Service]:與特定類型相關(guān)的專用選項(xiàng);此處為Service類型 [Install]:定義由“systemctl enable及systemctl disable”命令在實(shí)現(xiàn)服務(wù)啟用或禁用時(shí)用到的一些選項(xiàng)unit段常用選項(xiàng)
Description:描述信息 After:定義unit的啟動(dòng)次序,表示當(dāng)前unit應(yīng)該晚育那些unit啟動(dòng),其功能與before相反 Requires:依賴到的其他units,強(qiáng)依賴,被一來(lái)的units無(wú)法激活時(shí),當(dāng)前unit即無(wú)法激活 Wants:依賴到的其他units,弱依賴 Conflicts:定義units間的沖突關(guān)系Service段常用選項(xiàng)
Type:定義硬性ExecStart及相關(guān)參數(shù)的功能的unit進(jìn)程啟動(dòng)類型 simple:默認(rèn)值;這個(gè)daemon主要有ExecStart接的指令串來(lái)啟動(dòng),啟動(dòng)后常駐于內(nèi)存中 forking:由ExecStart啟動(dòng)的程序透過(guò)spawns延伸出其他子程序來(lái)作為此daemon的主要服務(wù)。原生父程序在啟動(dòng)結(jié)束后就會(huì)終止 onshot:用于執(zhí)行一項(xiàng)任務(wù),隨后立即退出的服務(wù),不會(huì)常駐于內(nèi)存中 notify:與simple相同,但約定服務(wù)會(huì)在就緒后想systemd發(fā)送一個(gè)信號(hào),需要配合NotifyAccess來(lái)讓Systemd接收消息 idle:與simple類似,要執(zhí)行這個(gè)daemon必須要所有的工作都順利執(zhí)行完畢后才會(huì)執(zhí)行。這類的daemon通常是開(kāi)機(jī)到最后才只能即可的服務(wù) EnvironmentFile:環(huán)境配置文件 ExeStart:指明啟動(dòng)unit要運(yùn)行命令或腳本的絕對(duì)路徑 ExeStartPre:ExecStart前運(yùn)行 ExeStartPost:ExecStart后運(yùn)行 ExecStop:指明停止unit要運(yùn)行的命令或腳本 Restart:當(dāng)設(shè)定Restart=1時(shí),則當(dāng)次daemon服務(wù)意外終止后,會(huì)在此自動(dòng)啟動(dòng)此服務(wù)Install段常用選項(xiàng)
Alias:別名,可使用systemctl command Alial.service RequiredBy:被那些units所依賴,強(qiáng)依賴 WantedBy:被那些units所依賴,弱依賴 Also:安裝本服務(wù)的時(shí)候還要安裝別的相關(guān)服務(wù) 注意:對(duì)于新創(chuàng)建的unit文件,或者修改了的unit文件,要通知systemd重載次配置文件,而后可以選擇重啟 systemctl daemon-reload案例
vim /etc/systemd/system/bak.service [Unit] Description=backup my etc Requires=atd.service [Service] Type=simple ExecStart=/bin/bash -c "echo /testdir/bak.sh|at now" [Install] WantedBy=multi-user.target systemctl daemon-reload systemctl start bak設(shè)置內(nèi)核參數(shù)
在系統(tǒng)啟動(dòng)時(shí),進(jìn)入內(nèi)核參數(shù)修改,修改只影響當(dāng)次啟動(dòng),在啟動(dòng)時(shí)在linux16行后添加systemd.unit=desired.target systemd.unit=emergency.target進(jìn)入救援模式 system.unit=recure.target 進(jìn)入緊急救援模式,功能比emergency多 修改完成后使用ctrl+x啟動(dòng)進(jìn)入相應(yīng)的模式啟動(dòng)排錯(cuò)
文件系統(tǒng)損壞 先嘗試自動(dòng)修復(fù),如果失敗則需要進(jìn)入emergency 模式,提示用戶修復(fù) 在/etc/fstab 不存在對(duì)應(yīng)的設(shè)備和UUID,等待一段時(shí)間,如果不可用,進(jìn)入emergecy shell 注釋哪行即可 在/etc/fstab不存在對(duì)應(yīng)掛載點(diǎn) systemd嘗試創(chuàng)建掛載點(diǎn),否則提示進(jìn)入emergecy shell 在/etc/fstab不正確的掛載選項(xiàng) 提示進(jìn)入emergecy shell破解root口令
啟動(dòng)時(shí)任意鍵暫停啟動(dòng) 按e鍵進(jìn)入編輯模式 將光標(biāo)移動(dòng)linux16開(kāi)始的行,添加內(nèi)核參數(shù)rd.break 按ctrl-x啟動(dòng) mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel exit reboot 等待系統(tǒng)重新打標(biāo)簽后即可進(jìn)入系統(tǒng),這時(shí)候root的密碼已經(jīng)更改修復(fù)grub2
GRUB“the Grand Unified Bootloader” 引導(dǎo)提示時(shí)可以使用命令行界面 可從文件系統(tǒng)引導(dǎo) 主要配置文件/boot/grub2/grub.cfg 修復(fù)配置文件 grub2-mkconfig > /boot/grub2/grub.cfg 修復(fù)grub grub2-install /dev/sda BIOS環(huán)境 grub2-install UEFI環(huán)境 grub2-mkconfig -o grub.cfg 重啟
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/67368.html
摘要:系統(tǒng)啟動(dòng)和服務(wù)器守護(hù)進(jìn)程管理器,負(fù)責(zé)在系統(tǒng)啟動(dòng)或運(yùn)行時(shí),激活系統(tǒng)資源,服務(wù)器進(jìn)程和其他進(jìn)程,根據(jù)管理,字母是守護(hù)進(jìn)程的縮寫,這個(gè)名字的含義就是它要守護(hù)整個(gè)系統(tǒng)。該命令可用于查看系統(tǒng)狀態(tài)和管理系統(tǒng)及服務(wù)。 博文參考 http://www.178linux.com/48343 http://www.178linux.com/48674 http://www.178linux.com/485...
摘要:系統(tǒng)啟動(dòng)和服務(wù)器守護(hù)進(jìn)程管理器,負(fù)責(zé)在系統(tǒng)啟動(dòng)或運(yùn)行時(shí),激活系統(tǒng)資源,服務(wù)器進(jìn)程和其他進(jìn)程,根據(jù)管理,字母是守護(hù)進(jìn)程的縮寫,這個(gè)名字的含義就是它要守護(hù)整個(gè)系統(tǒng)。該命令可用于查看系統(tǒng)狀態(tài)和管理系統(tǒng)及服務(wù)。 博文參考 http://www.178linux.com/48343 http://www.178linux.com/48674 http://www.178linux.com/485...
Linux系統(tǒng)作為一個(gè)開(kāi)源的操作系統(tǒng),服務(wù)于大中小企業(yè)。那么,作為一個(gè)服務(wù)器系統(tǒng)它的穩(wěn)定性是要求非常高的,但是在使用中出現(xiàn)無(wú)法遠(yuǎn)程但系統(tǒng)是正常服務(wù)的情況,下面介紹CentOS系統(tǒng)的云服務(wù)器中如何重啟、查看、啟動(dòng)ssh服務(wù)等操作。 ? centos7 與centos6 在重啟 啟動(dòng) 自啟動(dòng)等方面命令有些許的變化。linux系統(tǒng)之CentOS 7系列重啟/查看/自動(dòng)啟動(dòng)SSH等操作命令: ...
閱讀 2938·2023-04-26 02:22
閱讀 2292·2021-11-17 09:33
閱讀 3144·2021-09-22 16:06
閱讀 1078·2021-09-22 15:54
閱讀 3541·2019-08-29 13:44
閱讀 1921·2019-08-29 12:37
閱讀 1327·2019-08-26 14:04
閱讀 1919·2019-08-26 11:57