Directory-Structure
伺服器上需要遵循哪些目錄規範?
在 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 應用程序使用這些目錄。