Ads 468x60px

##EasyReadMore##

18 5月, 2016

systemd init 軟體

新的架構竟然 /etc/init.d 下竟然沒東西
原來是用了新的 init

介紹:

systemd(d = daemon)是Linux電腦作業系統之下的一套中央化系統及設定管理程式(init軟體),包括有守護行程、程式庫跟應用軟體,。 其開發目標是提供更優秀的框架以表示系統服務間的依賴關係,並依此實作系統初始化時服務的並列啟動,同時達到降低Shell的系統開銷的效果,最終代替現在常用的System V與BSD風格init程式。

與多數發行版使用的System V風格init相比,systemd採用了以下新技術:

採用Socket啟用式與D-Bus啟用式服務,以提高相互依賴的各服務的並列執行效能;
用cgroups代替行程ID來追蹤行程,以此即使是兩次fork之後生成的守護行程也不會脫離systemd的控制。
從設計構思上說,由於systemd使用了cgroup與fanotify等元件以實作其特性,所以只適用於Linux[4]。

指令介紹:

啟動服務 (service):
systemctl start vsftpd (範例,其他如httpd, named, mysql...等服務皆同)
systemctl status "*firewall*"

停止服務:
systemctl stop vsftpd

重新啟動服務:
systemctl restart vsftpd

開機後隨系統啟動服務:
systemctl enable vsftpd

開機後不隨系統啟動服務:
systemctl disable vsftpd

顯示服務狀態:
systemctl status vsftpd


列出 vsftpd FTP Server 啟動狀態:
systemctl list-unit-files | grep vsftpd

vsftpd.service                              disabled
vsftpd@.service                           disabled
vsftpd.target                                disabled

檢查是否有設定成功:
systemctl list-unit-files | grep vsftpd
vsftpd.service                              enabled
vsftpd@.service                             disabled
vsftpd.target                               disabled

systemd 的設定檔放置目錄
/usr/lib/systemd/system/:每個服務最主要的啟動腳本設定,有點類似以前的 /etc/init.d 底下的檔案
or
/lib/systemd/system/
實際執行的 systemd 啟動腳本設定檔, 其實都是放置在 /usr/lib/systemd/system/ 底下的喔!因此如果你想要修改某個服務啟動的設定,應該要去 /usr/lib/systemd/system/ 底下修改才對! /etc/systemd/system/ 僅是連結到正確的執行腳本設定檔而已。所以想要看執行腳本設定,應該就得要到 /usr/lib/systemd/system/ 底下去查閱才對!

系統指令:

[root@study ~]# systemctl poweroff  系統關機
[root@study ~]# systemctl reboot    重新開機
[root@study ~]# systemctl suspend   進入暫停模式
[root@study ~]# systemctl hibernate 進入休眠模式
[root@study ~]# systemctl rescue    強制進入救援模式
[root@study ~]# systemctl emergency 強制進入緊急救援模式

結論:

最近的 linux 系統開始使用這套,算是未來的趨勢

參考:

systemd - 維基百科,自由的百科全書 - https://goo.gl/2xAv3f
C6.5與C7的一些差異與 systemctl 的介紹 @ 呂阿谷的部落格 :: 痞客邦 PIXNET :: - http://goo.gl/FH0rll
鳥哥的 Linux 私房菜 -- 第十七章、認識系統服務 (daemons) - http://goo.gl/WnaQJ

0 意見:

張貼留言

 
Blogger Templates