Ubuntu

Ubuntu 和 RHEL 上 systemd 單元文件的通用位置

  • September 15, 2018

我想為Systemd服務列表創建腳本安裝。此安裝應支持 Ubuntu(從 16.04 版開始)和 RHEL/CentOS(從 7.2 版開始)

我閱讀了RHEL 文件,發現了三個可以儲存單元文件的路徑,這些路徑是:

  • /usr/lib/systemd/系統/
  • /lib/systemd/系統/
  • /etc/systemd/系統

滿足這些條件的服務的正確位置是什麼:

  • 單元文件用於非系統級服務(特定於應用程序的服務)
  • 沒有現有的操作系​​統級服務被覆蓋
  • 該位置在 Ubuntu 和 RHEL/CentOS 上是相同的

在預設的 Red Hat 發行版中,/lib是指向 的符號連結/usr/lib,但在 Ubuntu 中這些位置似乎不同。

根據 systemd 文件/usr/lib/systemd/system/被指定保存上游單元文件,這些文件不會被使用者編輯,而是通過包提供和更新。

/etc/systemd/system被指定為使用者提供的單元文件所在的位置。包不應覆蓋或更新/etc/systemd/system. 您還可以使用/etc/systemd/system覆蓋現有的單元文件。

所以使用/etc/systemd/system應該是不同發行版之間最兼容的。

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