本地執行檔應該放在哪裡?
我有一個 perforce 版本控制客戶端 (
p4
) 的執行檔。我不能把它放進去,/opt/local
因為我沒有root權限。是否有需要放置的標準位置$HOME
?文件系統層次結構是否有約定需要將本地執行檔/二進製文件放入
$HOME/bin
?我在 FHS的維基百科文章中找不到這樣的約定。
另外,如果確實有約定,我是否必須明確包含目錄的路徑
$HOME/bin
或目錄的位置bin
?
一般來說,如果非系統安裝和維護的二進製文件需要在系統範圍內可供多個使用者訪問,則應由管理員將其放入
/usr/local/bin
. 其下有一個完整的層次結構/usr/local
,通常用於本地編譯和安裝的軟體包。如果您是二進製文件的唯一使用者,則安裝到
$HOME/bin
或是$HOME/.local/bin
適當的位置,因為您可以自己安裝它並且您將是唯一的消費者。如果您從原始碼編譯軟體包,則在您的$HOME
or$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 中。