Systemd

systemd 單元文件中 ExecSearchPath= 的預設值是什麼?

  • January 21, 2022

man systemd.exec說關於ExecSearchPath=

採用冒號分隔的絕對路徑列表,可以找到 Exec*=(例如 ExecStart=、ExecStop= 等)屬性使用的執行檔。ExecSearchPath= 覆蓋 $ PATH if $ PATH 不是由使用者通過 Environment=、EnvironmentFile= 或 PassEnvironment= 提供的。分配一個空字元串會刪除之前的分配,並且多次將 ExecSearchPath= 設置為一個值將附加到之前的設置。

的預設值是ExecSearchPath=多少?

預設的二分搜尋路徑在命令行一節中描述:

如果命令不是完整(絕對)路徑,它將使用在編譯時確定的固定搜尋路徑解析為完整路徑。在使用 split和目錄的系統上搜尋的目錄包括/usr/local/bin/, /usr/bin/,以及在使用 split和的系統上的對應目錄。因此,如果執行檔位於任何“標準”目錄中,只使用執行檔名稱是安全的,而在其他情況下必須使用絕對路徑。建議使用絕對路徑以避免歧義。提示:可以使用systemd-path search-binaries-default查詢此搜尋路徑。/bin/``/usr/bin/``/bin/``sbin/``bin/``sbin/

自身的預設值為ExecSearchPath空,觸發上述行為。

(請注意,這ExecSearchPath是最近的,它是在 systemd 250 中添加的。)

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