Centos7 中 Systemd 的Unit檔案配置說明
下面列出了三種型別的單元配置檔案所在路徑:
- 預設單元配置檔案 -
/usr/lib/systemd/system
- 執行時的配置檔案 -
/run/systemd/system
- 系統特定的配置檔案 -
/etc/systemd/system
預設單元配置檔案,當安裝新軟體包時,在安裝過程中,單元配置檔案會在
/usr/lib/systemd/system
目錄中生成。
執行時單元配置檔案,分別在units啟動和停止時,會自動生成和刪除。
系統特定的配置檔案包含定製的單元配置。透過這些配置檔案,使用者可以覆蓋units的預設行為。
當我們對系統服務和程式的狀態進行任何更改時,例如:start, stop, enable, 和disable時,systemd讀取並執行其單元配置檔案。按照以下順序檢查單元配置檔案。
系統特定的單元配置檔案、執行時單元配置檔案、預設單元配置檔案。
例如,如果一個units配置檔案在著三個路徑下面都存在,則僅使用 系統特定的配置檔案 -
/etc/systemd/system
。
一個單元配置檔案包含控制該單元的所有必需資訊,例如;啟動Units檔案的路徑,在Units之前和之後需要啟動的 service/units 的名稱,文件、手冊的位置,依賴項資訊,衝突資訊等。
Unit配置檔案中的資訊通常分為三部分。
[Unit],[Type], [Install]
。
下面尋找一個Unit配置檔案來解釋:
[root@localhost ~]# cat /usr/lib/systemd/system/sshd.service [Unit] Description=OpenSSH server daemon Documentation=man:sshd(8) man:sshd_config(5) After=network.target sshd-keygen.target Wants=sshd-keygen.target [Service] Type=notify EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config EnvironmentFile=-/etc/sysconfig/sshd ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
該部分通常包含 描述、文件、與其他程式依賴的設定、包括在什麼服務 之前 或者 之後 啟動該Units的設定等。
Description: 該語句提供簡要的描述。可以在systemctl list-units或者systemctl status [Units]時看到描述。
Documentation: 該語句提供手冊(幫助文件)頁面的位置以及訪問手冊頁面的 。
After: 該語句列出了在該單元之後應啟用的單元。僅僅是規範服務啟動的順序,並沒有強制要求啟動。
Before: 該語句列出了在該單元之前應啟用的單元。僅僅是規範服務啟動的順序,並沒有強制要求啟動。
Wants: 定義該單元啟動之後還需要啟動哪些unit。
Requires: 明確了定義該單元需要在哪個單元啟動之前才能啟動,如果前面的unit沒有啟動,那麼該unit也不會被啟動。
Conflicts: 該語句列出了在啟動該單元之前必須停止的單元/服務。
一個單元的After/Before語句定義了該單元應該啟動的順序。一個單元的want/Requires語句定義了該單元的依賴關係。
該部分表示Unit的型別。型別有[Service],[Socket],[Timer],[Mount],[Path]等型別,本文中使用的是
sshd.service
當例子,所以這邊就使用[Service]型別來介紹。
下面列舉常用語句:
Type : 表示啟動的型別,有以下幾種型別:simple為預設值、forking、oneshot等型別。
EnvironmentFile: 可以有多個該語句、後面跟配置檔案。
ExecStart: 後面接啟動的語句
ExecStop: 後面接停止服務的語句
ExecReload: 後面接重啟服務的語句
KillMode: 該語句如果是process,當終止程式時,它會終止主程式。如果時none時,則不會關閉程式。
該部分時將此Unit安裝到哪一個target中去。常用會安裝在
multi-user.target
WantedBy: 自動啟動該Unit的Target名稱。例如,如果在此語句中看到multi-user.target,則意味著當系統進入“multi-user.target”執行級別時,此Unit將自動啟動。
可以看到,當執行
systemctl enable sshd.service
時,會將sshd.service從/usr/lib/systemd/system目錄中建立超連結到/etc/systemd/system/multi-user.target.wants下面。
Systemd使用單元(Units)來管理系統服務和程式。系統單元使用配置檔案來控制其相關操作。單元配置檔案有三種型別:預設單元配置檔案,系統特定的單元配置檔案和執行時的單元配置檔案。
本文原創地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2759908/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Centos系統中 Systemd 的Unit檔案配置說明CentOS
- CentOS8中systemd配置檔案說明CentOS
- Nginx的配置檔案說明Nginx
- systemd service unit
- nginx日誌配置檔案說明Nginx
- 在.NET CORE中使用配置檔案:對 ConfigurationBuilder 的使用說明UI
- fepk檔案格式說明
- [轉載]SystemD strikes again : Unit X.mount is bound to inactive unitAI
- Linux下玩轉nginx系列(二)——nginx配置檔案說明LinuxNginx
- 簡單說說webpack的配置檔案Web
- django的初始化檔案說明Django
- Linux中log檔案是什麼意思?Linux日誌檔案說明Linux
- Linux下玩轉nginx系列(三)---nginx日誌配置檔案說明LinuxNginx
- 如何在VScode 中 除錯 ts 檔案 Unit testVSCode除錯
- Oracle安裝光碟內容的檔案說明Oracle
- rust配置說明Rust
- 『忘了再學』Shell基礎 — 22、主要的環境變數配置檔案說明變數
- systemd - yocto linux如何整合&配置systemdLinux
- Laravel 中的配置檔案Laravel
- Hadoop之HDFS檔案讀寫流程說明Hadoop
- C++檔案說明及使用方法C++
- systemd - Android系統如何整合&配置systemdAndroid
- JVM(筆記)—— Class 類檔案結構的說明(二)JVM筆記
- 易優CMS模板目錄各檔案說明
- Nginx的gzip配置引數說明Nginx
- Revit Server的注意要配置說明Server
- elasticsearch.yml 配置說明Elasticsearch
- kettle MongoDB Output 配置說明MongoDB
- 雷池 docker env 配置說明Docker
- 說說在 Python 中,如何讀取檔案中的資料Python
- spring中的IOC說明Spring
- 自研 PHP 框架 1.1_index.php 檔案說明PHP框架Index
- 自研 PHP 框架 1.0_index.php 檔案說明PHP框架Index
- Spring - 配置檔案中的特殊字元Spring字元
- maven工作目錄、編譯後的目錄說明及mybatis-plus的xml檔案路徑配置Maven編譯MyBatisXML
- SpringBoot專案中獲取配置檔案的配置資訊Spring Boot
- 說說在 Python 中,如何寫入檔案Python
- ADS-B接入配置說明