Software-Installation

我應該將應用程序放入 /usr/local 還是 /usr/local/share?

  • August 23, 2019

什麼是“標準”——我應該將應用程序(不僅僅是二進製文件,而是整個發行版)放到 /usr/local 或 /usr/local/share。

例如 scala 或 weka – 它包含範例、二進製文件、庫等。所以它會是

/usr/local/scala-2.9.1 

要麼

/usr/local/share/scala-2.9.1

由於我是唯一的管理員,這對我來說沒什麼大不了的,但我更喜歡使用廣泛使用的東西,而不是我自己的習慣。

**重要提示:**我不是在詢問您應該將應用程序拆分為 /usr/local/bin、/usr/local/lib 等的情況。相反,我問的是您必須為整個應用程序保留一個主目錄的情況。

我認為 /opt 在這種情況下更標準。下面引用了文件系統層次標準中的相關部分。

發行版可以在 /opt 中安裝軟體,但未經本地系統管理員同意,不得修改或刪除本地系統管理員安裝的軟體。

 基本原理 將 /opt 用於附加軟體是 UNIX 社區公認的實踐。System V 應用程序二進制介面

$$ AT&T 1990 $$,基於 System V 介面定義(第三版),提供了與此處定義的結構非常相似的 /opt 結構。 英特爾二進制兼容性標準 v. 2 (iBCS2) 也為 /opt 提供了類似的結構。

通常,支持系統上的軟體包所需的所有數據都必須存在於 /opt/ 中,包括打算複製到 /etc/opt/ 和 /var/opt/ 中的文件以及 /opt 中的保留目錄。

對使用 /opt 的發行版進行較小的限制是必要的,因為在發行版安裝的軟體和本地安裝的軟體之間可能會發生衝突,尤其是在某些二進制軟體中找到固定路徑名的情況下。

/opt/ 下的目錄結構由軟體的打包者決定,但建議將包安裝在 /opt// 中,並遵循與 /opt/package 指南類似的結構。與此結構不同的一個正當理由是支持包可能在 /opt//lib 或 /opt//bin 中安裝了文件。

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