歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS7開機啟動管理systemd簡介及使用

CentOS7開機啟動管理systemd簡介及使用

日期:2017/2/28 14:02:05   编辑:Linux教程

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

更多CentOS相關信息見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14

Copyright © Linux教程網 All Rights Reserved