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
- Docker 的配置檔案說明Docker
- Apache 配置檔案說明(轉)Apache
- systemd service unit
- web.xml檔案配置的說明WebXML
- Nginx配置檔案詳細說明Nginx
- saltstack/saltmaster配置檔案說明(二)AST
- Redis配置檔案引數說明Redis
- http.conf配置檔案說明HTTP
- linux /etc/fstab檔案配置說明Linux
- [轉]Nginx 配置檔案nginx.conf的完整配置說明Nginx
- Infer - 檔案說明
- 檔案-spfile說明
- JDK安裝目錄中的檔案說明JDK
- DB2 Content Manager 配置檔案說明DB2
- fepk檔案格式說明
- redis配置檔案redis.conf詳細說明Redis
- log4j配置檔案基本含義說明
- Linux的基本檔案說明Linux
- Nginx的nginx.conf配置檔案中文註釋說明Nginx
- SAP系統中profile的配置說明
- hosts檔案格式說明,為什麼還有域名配置
- MySQL配置檔案my.ini引數註釋說明MySql
- LINUX常用檔案說明Linux
- android混淆檔案說明Android
- 檔案-init.ora說明
- MySQL 日誌檔案 說明MySql
- 簡單說說webpack的配置檔案Web
- django的初始化檔案說明Django
- Linux 中/etc/inittab檔案的欄位及其說明(轉)Linux
- [轉載]SystemD strikes again : Unit X.mount is bound to inactive unitAI
- Linux下玩轉nginx系列(二)——nginx配置檔案說明LinuxNginx
- linux日誌檔案說明Linux
- oracle控制檔案轉儲說明Oracle
- Oracle密碼檔案的作用和說明Oracle密碼
- Kafka配置說明Kafka