- Linux就該這么學
- 劉遄
- 791字
- 2019-01-05 05:53:58
1.7 systemd初始化進程
Linux操作系統的開機過程是這樣的,即從BIOS開始,然后進入Boot Loader,再加載系統內核,然后內核進行初始化,最后啟動初始化進程。初始化進程作為Linux系統的第一個進程,它需要完成Linux系統中相關的初始化工作,為用戶提供合適的工作環境。紅帽RHEL 7系統已經替換掉了熟悉的初始化進程服務System V init,正式采用全新的systemd初始化進程服務。如果您之前學習的是RHEL 5或RHEL 6系統,可能會不習慣。systemd初始化進程服務采用了并發啟動機制,開機速度得到了不小的提升。雖然systemd初始化進程服務具有很多新特性和優勢,但目前還是下面4個槽點。
槽點1:systemd初始化進程服務的開發人員Lennart Poettering就職于紅帽公司,這讓其他系統的粉絲很不爽。
槽點2: systemd初始化進程服務僅僅可在Linux系統下運行,“拋棄”了UNIX系統用戶。
槽點3:systemd接管了諸如syslogd、udev、cgroup等服務的工作,不再甘心只做初始化進程服務。
槽點4:使用systemd初始化進程服務后,RHEL 7系統變化太大,而相關的參考文檔不多,令用戶著實為難。
無論怎樣,RHEL 7系統選擇systemd初始化進程服務已經是一個既定事實,因此也沒有了“運行級別”這個概念,Linux系統在啟動時要進行大量的初始化工作,比如掛載文件系統和交換分區、啟動各類進程服務等,這些都可以看作是一個一個的單元(Unit), systemd用目標(target)代替了System V init中運行級別的概念,這兩者的區別如表1-3所示。
表1-3 systemd與System V init的區別以及作用

如果想要將系統默認的運行目標修改為“多用戶,無圖形”模式,可直接用ln命令把多用戶模式目標文件連接到/etc/systemd/system/目錄:
[root@linuxprobe ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/ system/default.target
如果有讀者之前學習過RHEL 6系統,或者已經習慣使用service、chkconfig等命令來管理系統服務,那么現在就比較郁悶了,因為在RHEL 7系統中是使用systemctl命令來管理服務的。表1-4和表1-5所示RHEL 6系統中System V init命令與RHEL 7系統中systemctl命令的對比,您可以先大致了解一下,后續章節中會經常用到它們。
表1-4 systemctl管理服務的啟動、重啟、停止、重載、查看狀態等常用命令

表1-5 systemctl設置服務開機啟動、不啟動、查看各級別下服務啟動狀態等常用命令

- Linux網絡管理與配置(第2版)
- Linux從零開始學(視頻教學版)
- Persistence in PHP with the Doctrine ORM
- 蘋果電腦玩全攻略 OS X 10.8 Mountain Lion
- 精解Windows 8
- 精通Linux內核開發
- Ubuntu Linux操作系統
- SharePoint 2013 應用開發實戰
- jQuery UI Cookbook
- Windows 8實戰從入門到精通(超值版)
- 從零開始學安裝與重裝系統
- Ubuntu Linux操作系統實用教程
- Mastering Sass
- Implementing Domain-Specific Languages with Xtext and Xtend(Second Edition)
- 鴻蒙HarmonyOS應用開發從入門到精通