Software-Installation

本地執行檔應該放在哪裡?

  • January 5, 2022

我有一個 perforce 版本控制客戶端 ( p4) 的執行檔。我不能把它放進去,/opt/local因為我沒有root權限。是否有需要放置的標準位置$HOME

文件系統層次結構是否有約定需要將本地執行檔/二進製文件放入$HOME/bin

我在 FHS的維基百科文章中找不到這樣的約定。

另外,如果確實有約定,我是否必須明確包含目錄的路徑$HOME/bin或目錄的位置bin

一般來說,如果非系統安裝和維護的二進製文件需要在系統範圍內可供多個使用者訪問,則應由管理員將其放入/usr/local/bin. 其下有一個完整的層次結構/usr/local,通常用於本地編譯和安裝的軟體包。

如果您是二進製文件的唯一使用者,則安裝到$HOME/bin或是$HOME/.local/bin適當的位置,因為您可以自己安裝它並且您將是唯一的消費者。如果您從原始碼編譯軟體包,則在您的$HOMEor$HOME/.local目錄中創建部分或完整的本地層次結構也是合適的。使用$HOME,完整的本地層次結構將如下所示。

  • $HOME/bin 本地二進製文件
  • $HOME/etc 本地二進製文件的特定於主機的系統配置
  • $HOME/games本地遊戲二進製文件
  • $HOME/include 本地 C 標頭檔
  • $HOME/lib 本地圖書館
  • $HOME/lib64本地 64 位庫
  • $HOME/man 本地線上手冊
  • $HOME/sbin 本地系統二進製文件
  • $HOME/share與本地架構無關的層次結構
  • $HOME/src 本地原始碼

執行時configure,您應該通過指定$HOME安裝預設值的前綴來定義本地安裝層次結構。

./configure --prefix=$HOME

現在make && make install執行時,已編譯的二進製文件、包、手冊頁和庫將安裝到您的$HOME本地層次結構中。如果您沒有手動創建$HOME本地層次結構,make install將創建軟體包所需的目錄。

安裝完成後$HOME/bin,您可以添加$HOME/bin到您$PATH的二進製文件或使用絕對值呼叫二進製文件$PATH。預設情況下,某些發行版將包含$HOME/bin在您的發行版中。$PATH您可以通過任何一個來測試它echo $PATH並查看是否$HOME/bin存在,或者將二進製文件放入$HOME/bin並執行which binaryname. 如果它帶有$HOME/bin/binaryname,則預設情況下它在您的 $PATH 中。

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