像大多數人一樣,我偶爾會安裝來自發行版儲存庫外部或「手工製作」的東西或編寫/使用腳本,因此它們可能不會出現在系統預設路徑中,或者不應添加到該路徑中。
現在有不同的方法可以繼續。
我可能只想偶爾運行或只需要在某個目錄中運行的東西無論如何都可以保持原樣,cd ~/stuff/fancyapp
然後./fancyexecutable
就足夠了。
但有時,我可能希望能夠簡單地backup.sh
從我所在的任何位置執行某些操作,或者其他程式需要知道某個可執行文件,為此,我可以使用類似的內容更新我的 $PATH PATH=$PATH:~/bin/backup/
,export PATH
然後重新啟動我的會議。然而,這導致我遇到一個問題:要么有一個“home bin”,我將每個可執行檔移動/符號鏈接到~/bin/
,要么當我想要有一個有序的home bin 時,必須將每個子目錄添加到我的路徑中。 (或者,我可以將某些東西組合在一起以使路徑遞歸)
bin
那麼,處理您自己的具有多個可執行檔和子目錄的正確、推薦和安全的方法是什麼?
答案1
我將本地內建的所有軟體安裝到/home/user/.local
目錄中。該目錄基本上複製了/usr
您所看到的目錄結構:
> ls ~/.local
bin etc include jars lib lib64 libexec man share
您可以指向建置工具將此目錄設定為安裝前綴。有些工具使用環境變數的值PREFIX
來確定安裝位置,因此最好也設定它,但不要依賴它。
請注意,您必須相應地設定幾個環境的值,例如PATH
, LD_LIBRARY_PATH
, PKG_CONFIG_PATH
, CLASSPATH
。