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