Debian

如何區分systemd中的使用者服務和系統服務?

  • March 19, 2020

我昨天問了一個問題,其中一個評論是它被共享為“使用者服務”。現在如何區分“使用者服務”和系統服務?

根據文件,可以通過路徑區分單元文件。

例如; 如果單元文件在

/etc/systemd/system
/usr/lib/systemd/system
/run/systemd/system

目錄,這個單元屬於系統。

如果它在

~/.config/systemd/user/*
/etc/systemd/user/*
$XDG_RUNTIME_DIR/systemd/user/*
/run/systemd/user/*
~/.local/share/systemd/user/*
/usr/lib/systemd/user/*

目錄,它屬於使用者。

*根據系統單元目錄的*systemd(1)手冊頁:

systemd 系統管理器從各個目錄讀取單元配置。想要安裝單元文件的包應將它們放在以下目錄返回的目錄中:

pkg-config systemd --variable=systemdsystemunitdir

檢查的其他目錄是:

/usr/local/lib/systemd/system
/usr/lib/systemd/system

使用者配置始終優先。

pkg-config systemd --variable=systemdsystemconfdir

返回系統配置目錄的路徑。軟體包只能使用 systemctl(1) 工具的啟用和禁用命令來更改這些目錄的內容。systemd.unit(5) 中提供了完整的目錄列表。

然後對於使用者單元目錄:

類似的規則適用於使用者單元目錄。但是,這裡是 XDG 基本目錄規範

$$ 6 $$跟隨尋找單位。應用程序應將其單元文件放置在以下目錄返回的目錄中:

pkg-config systemd --variable=systemduserunitdir

全域配置在以下報告的目錄中完成:

pkg-config systemd --variable=systemduserconfdir

systemctl(1) 工具的啟用和禁用命令可以處理全域(即對所有使用者)和私有(對一個使用者)啟用/禁用單元。systemd.unit(5) 中提供了完整的目錄列表。

請注意,這些是systemd 的規則,指示打包者在適當的位置放置不同的文件,打包者必須正確遵循這些規則。

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