Linux(入門基礎):107---systemd服務的配置文件

一、systemd啓動、運行時的相關配置文件

  • /usr/lib/systemd/system/目錄:每個服務最主要的啓動腳本設置,有點類似於init的/etc/init.d下面的文件
  • /run/systemd/system/目錄:系統執行過程中所產生的服務腳本,這些腳本的優先級要比/usr/lib/systemd/system/高
  • /etc/systemd/system/目錄:管理員根據主機系統的需要所建立的執行腳本,是一大堆鏈接文件,鏈接到/usr/lib/systemd/system/。其實這個目錄有點像以前/etc/rc.d/rc5.d/Sxx之類的功能,執行優先級又比/run/systemd/system/高

操作系統啓動會不會執行某些服務其實是看/etc/systemd/system/下面的設置,該目錄下是一大堆鏈接文件,鏈接到/usr/lib/systemd/system/目錄下的正確的執行腳本配置文件。因此實際執行的systemd啓動腳本配置文件是放置到/usr/lib/systemd/system/下面。因此,如果你想要修改某個服務啓動的設置,應該要去/usr/lib/systemd/system/下面修改纔對(不過不建議修改這個目錄,後面有文章會介紹)

二、/usr/lib/systemd/system/下的服務類型

  • systemd啓動的服務都是存放在這個目錄下,不同的服務類型有各自不同的文件後綴名。因此可以通過文件後綴名來區分服務類型
.service 一般服務類型。主要是:系統服務,包括服務器本身所需要的本地服務以及網絡服務等,經常被使用到的服務大多是這種類型。所以也是最常用的類型
.socket

內部服務數據交換的socket服務:主要是IPC的傳輸信息socket文件功能。

這種類型的服務通常在監控信息傳遞的socket文件中,當通過此socket文件傳遞信息到鏈接服務時,就根據當時的狀態將該用戶的要求傳送到對應的daemon,若daemon未啓動,則啓動該daemon後再傳送用戶的要求

使用sokcet類型的服務一般較少用到,因此在開機啓動時通常會稍微延遲啓動的時間(因此不怎麼常用)。

一般用於本地服務比較多,例如我們的圖形界面很多的軟件都是通過socket來進行本機程序數據交換的操作(這與早期的xinted這個super daemon有部分的相似)

.target 執行環境類型:其實是一羣unit的集合,例如multi-user.target其實就是一堆服務的集合。也就是說,選擇執行multi-user.target其實就是執行一堆其他的.service或(及).socket之類的服務

.mount

.automount

文件系統掛載相關的服務:例如來自網絡的自動掛載、NFS文件系統掛載等與文件系統相關性較高的進程管理
.path 檢測特定文件或目錄類型:某些服務需要檢測某些特定的目錄來提供隊列服務,例如最常見的打印服務,就是通過檢測打印隊列目錄來啓動打印功能,這是就需要.path的服務類型來支持
.timer 循環執行的服務:這個服務有點類似anacrontab,不過由systemd主動提供,比anacrontab更加有彈性

三、其他配置文件

  • /etc/sysconfig/目錄:幾乎所有的服務都會將初始化的一些選項設置寫入到這個目錄。例如:mandb所要更新的man page索引中,需要加入的參數就寫入到此目錄下的man-db當中。網絡服務的設置則寫在/etc/sysconfig/network-scripts/這個目錄內
  • /var/lib/目錄:一些會產生數據的服務都會將它的數據寫入到/var/lib/目錄內。例如:數據庫管理系統MariaDB的數據庫默認就寫入/var/lib/mysql/這個目錄
  • /run/目錄:放置了好多daemon的緩存,包括lock文件以及PID文件等
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章