Linux

將類似程序分組到單個路徑目錄中是否有任何好處?

  • June 14, 2021

我在 web 伺服器中設置 prometheus,我注意到每個導出器都是它自己的程序,必須將其添加到 $PATH 中的目錄中。

我的問題是,為這些創建一個專門的目錄(例如,“/usr/exporters/bin”,組成一些例子)並將所有導出程序放在那裡,並將該文件添加到 $PATH 有什麼好處? 還是最好將程序推送到存放二進製文件的預設目錄?

唯一的好處是 中的目錄更少$PATH,因此在查找執行檔時要搜尋的目錄更少,但是:

  • 此事件(搜尋 中的所有目錄$PATH)很少見。$PATH條目(執行檔)保存在 內的雜湊表中bash,該雜湊表在啟動時或通過 更新rehash。無需$PATH每次都搜尋。
  • 這個活動不貴。可以從文件的目錄條目中收集所有需要的資訊(文件存在並且權限允許執行) - 無需訪問每個文件。只需閱讀目錄。

不將執行檔移動到其他常見目錄的原因包括:

  • 您將擁有一個非標準的環境。當您尋求幫助時,需要額外的努力來解釋這一點。具體由非標準環境引起的問題將很難解決。
  • 您將擁有一個非標準的環境。發布更新版本時,您的環境將與更新所期望的不匹配。
  • 您將擁有一個非標準的環境。您必須記住並在本週、下週、之後的一周……永遠進行非標準環境更新。

這是無用的猴子運動。

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