Directory-Structure

伺服器上需要遵循哪些目錄規範?

  • December 20, 2021

在 PC 上,XDG 桌面規範允許各個桌面為各種數據設置不同的文件夾。在編寫只能在伺服器上執行的應用程序時,是否應該簡單地進行硬編碼/etc/myapp/var/cache/myapp,或者是否應該檢查潛在的環境變數或類似的變數?

我知道的大多數 Linux 應用程序確實是硬編碼路徑,但有時允許使用環境變數和命令行參數重新定義它們。

我認為硬編碼這些路徑沒有任何問題,但如果您允許將配置文件位置指定為命令行參數並且在此 conf 文件中允許更改/var/cache/myapp.

如果您對所有內容進行硬編碼,至少要確保發行版中的現有軟體包不會與您的位置衝突。對於基於 DNF 的發行版,它將是(這是一個範例):

dnf whatprovides '/var/cache/dnf'
dnf-4.9.0-1.fc35.noarch : Package manager
Repo        : @System
Matched from:
Filename    : /var/cache/dnf

dnf-4.9.0-1.fc35.noarch : Package manager
Repo        : fedora
Matched from:
Filename    : /var/cache/dnf

所以你顯然不能使用/var/cache/dnf.

/opt/appname最後,將所有東西都安裝在or中會容易得多/usr/local/opt/appname。沒有本機 Linux 應用程序使用這些目錄。

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