在linux系統(tǒng)中有多種方法可以在系統(tǒng)啟動(dòng)后調(diào)用腳本,接下來(lái)介紹幾種常見(jiàn)的方法
/etc/rc.local
/etc/rc.local是傳統(tǒng)的系統(tǒng)初始化腳本,在廣泛采用systemd之前,它由init系統(tǒng)使用。它是一個(gè)shell腳本,在啟動(dòng)過(guò)程的最后運(yùn)行,允許用戶執(zhí)行自定義命令或啟動(dòng)服務(wù)。
它以root權(quán)限運(yùn)行,并提供了一種簡(jiǎn)單的方式來(lái)進(jìn)行系統(tǒng)定制或啟動(dòng)后臺(tái)進(jìn)程。
然而,隨著systemd的引入,支持/etc/rc.local的地位在許多發(fā)行版中已經(jīng)被棄用。systemd為自定義和服務(wù)管理提供了替代機(jī)制。
/etc/init.d/
/etc/init.d/是一個(gè)目錄,歷史上用于存儲(chǔ)SysVinit的初始化腳本,SysVinit是許多Linux發(fā)行版常用的較早的init系統(tǒng)。這些初始化腳本通常是shell腳本,用于啟動(dòng)、停止、重啟或管理服務(wù)。
SysVinit使用運(yùn)行級(jí)別來(lái)定義系統(tǒng)狀態(tài),每個(gè)運(yùn)行級(jí)別都可以有與之關(guān)聯(lián)的初始化腳本,位置在/etc/init.d/中。例如,腳本/etc/init.d/apache2可用于管理Apache web服務(wù)器。
雖然出于兼容性考慮,某些發(fā)行版仍然使用SysVinit及其關(guān)聯(lián)的初始化腳本,但對(duì)于大多數(shù)現(xiàn)代Linux發(fā)行版來(lái)說(shuō),systemd已成為默認(rèn)的init系統(tǒng)。
systemd
Systemd是一種現(xiàn)代化的init系統(tǒng)和服務(wù)管理器,已經(jīng)在許多Linux發(fā)行版中取代了SysVinit。它引入了各種功能和改進(jìn),包括并行服務(wù)啟動(dòng)、套接字激活、日志記錄和依賴關(guān)系跟蹤。
systemd不再使用單獨(dú)的初始化腳本,而是使用單元文件,即聲明性配置文件,用于指定服務(wù)的管理方式。
單元文件通常存儲(chǔ)在/usr/lib/systemd/system/或/etc/systemd/system/等目錄中,并具有.service擴(kuò)展名。它們定義服務(wù)單元、套接字單元、掛載單元等類型的單元,可以由systemd管理。
systemd還引入了目標(biāo)或“systemd目標(biāo)” 的概念,作為運(yùn)行級(jí)別的替代。目標(biāo)是服務(wù)或單元的邏輯組,定義了系統(tǒng)的整體狀態(tài)或目的,例如 multi-user.target 或 graphical.target。
總的來(lái)說(shuō),與傳統(tǒng)的init系統(tǒng)(如SysVinit)相比,systemd提供了改進(jìn)的服務(wù)管理、并行啟動(dòng)、改進(jìn)的日志記錄以及更簡(jiǎn)化的系統(tǒng)初始化方法。
-
Linux
+關(guān)注
關(guān)注
87文章
11207瀏覽量
208712 -
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
590瀏覽量
27311 -
命令
+關(guān)注
關(guān)注
5文章
676瀏覽量
21965 -
腳本
+關(guān)注
關(guān)注
1文章
387瀏覽量
14811
原文標(biāo)題:Linux中 /etc/rc.local & /etc/init.d/ 和 systemd 是啥
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論