2021-05-12 14:32:11
CentOS7開機啟動管理systemd簡介及使用
systemd提供更優秀的框架以表示系統服務間的依賴關係
實現系統初始化時服務的並行啟動,同時達到降低Shell的系統開銷的效果
systemd的目標是:盡可能啟動更少進程;盡可能將更多進程並行啟動。
systemd盡可能減少對shell指令碼的依賴。
systemd單位型別
(systemctl --type=單位型別,用來過濾單位):
服務(service):管理著後台服務;
掛載(mount)自動掛載(automount):用來掛載檔案系統;
目票(target):執行級別;
通訊端(socket):用來建立通訊端,並在存取通訊端後,立即利用依賴關係間接地啟動另一單位;
開機服務管理
=================================================
systemd新增新的unit(daemon)
也就是採用systemd來管理,/sbin/chkconfig --add foo相當
把新生成的foo.service 放到/usr/lib/systemd/system/下面,然後採用load命令匯入
systemctl load foo.service
刪除unit(daemon)
刪除一個unit沒有相應的命令,通常的做法是停掉daemon,然後刪除相應的組態檔。
開機啟動unit
systemctl enable postfix.service
增加由/usr/lib/systemd/system/到/etc/systemd/system/multi-user.target.wants/下的軟連結
ln -s '/usr/lib/systemd/system/postfix.service' '/etc/systemd/system/multi-user.target.wants/postfix.service'
開機不啟動unit
systemctl disable httpd.service
刪除/etc/systemd/system/multi-user.target.wants下的軟連結
檢視開機是否啟動
systemctl is-enabled .service #查詢服務是否開機啟動
systemd檢視開機自啟動的程式
相當於chkconfig --list
ls /etc/systemd/system/multi-user.target.wants/
檢視systemd單元載入及活動情況
systemctl
顯示啟動失敗的單元
systemctl --failed
檢視systemd管理的所有單元
systemctl list-unit-files
服務管理
=================================================
啟動服務
systemctl start httpd.service
關閉服務
systemctl stop httpd.service
重新啟動服務
systemctl restart httpd.service
重新載入
systemctl reload httpd.service
檢視狀態
systemctl status httpd.service
包括啟動狀態、啟動時間、主進程及相關進程、相關紀錄檔
執行級別
=================================================
systemd用target替代了runlevel的概念,多個的 'target' 可以同時啟用
systemd不使用/etc/inittab,如何檢視系統預設的執行級別
ll /etc/systemd/system/default.target
檢視這個軟連結真正指向的檔案
如何檢視系統的當前執行級別
runlevel依然可用
systemd的方法是:systemctl list-units --type=target
改變當前target,重新啟動無效
systemctl isolate graphical.target
修改預設執行級別
1.首先刪除已經存在的符號連結
rm /etc/systemd/system/default.target
2.預設級別轉換為3(文字模式)
systemctl enable multi-user.target
相當於ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
3.重新啟動
reboot
執行級別如下:
runlevel0.target -> poweroff.target
runlevel1.target -> rescue.target
runlevel2.target -> multi-user.target
runlevel3.target -> multi-user.target
runlevel4.target -> multi-user.target
runlevel5.target -> graphical.target
runlevel6.target -> reboot.target
CentOS7/RHEL7 systemd詳解 http://www.linuxidc.com/Linux/2015-04/115937.htm
為什麼systemd會被如此迅速的採用? http://www.linuxidc.com/Linux/2014-08/105789.htm
systemd 與 sysVinit 彩版對照表 http://www.linuxidc.com/Linux/2014-09/106455.htm
太有用了!用systemd命令來管理Linux系統! http://www.linuxidc.com/Linux/2014-09/106490.htm
淺析 Linux 初始化 init 系統,第 3 部分: Systemd http://www.linuxidc.com/Linux/2014-12/110383.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-04/116648.htm
相關文章