Linux

systemd 執行時單元文件有什麼用?

  • July 24, 2020

我在 systemd 單元文件上閱讀的文件指出,可以在文件系統的三個位置找到單元文件:

  1. /etc/systemd/system/: 系統單元文件
  2. /run/systemd/system/: 執行時單元文件
  3. /lib/systemd/system/(有時也是/usr/lib/systemd/system/):包的預設單元文件

我了解系統單元文件用於(可能是使用者配置的)系統守護程序。我也了解預設包單元文件是與提供合理預設值的包安裝一起提供的單元文件。

但是,我找不到解釋執行時單元文件用途的文件。執行時單元文件有什麼用?作為系統管理員,我可以創建一個嗎?有哪些可以使用執行時單元文件解決的問題範例?為什麼執行時單元文件優先於包單元文件,而不是系統單元文件?

從歷史上看,執行時單元文件用於機器生成的單元。它們應該覆蓋相應的供應商單元(如果有),但旨在允許使用者覆蓋,因此定義了優先級

現在我認為它們在很大程度上已被使用匯流排 API 生成的瞬態單元所取代。這些不會在任何地方顯示為文件。

我從未見過 /run/systemd 用於我係統上的單元文件。雖然它可以在您只是從 /lib/systemd 執行未修改的單元文件時使用。

通常 /lib/systemd 包含預設的單元文件和計時器(你不應該在那裡編輯它們),並且 /etc/systemd 包含啟用的(連結到 /lib/systemd 文件)和自定義的。

您可以自定義計時器和單元文件,sudo systemctl edit unit/timer以在原始文件中添加一些內容或sudo systemctl edit --full unit/timer 完全編輯單元文件或計時器。

引用自:https://unix.stackexchange.com/questions/599809