Linux
將類似程序分組到單個路徑目錄中是否有任何好處?
我在 web 伺服器中設置 prometheus,我注意到每個導出器都是它自己的程序,必須將其添加到 $PATH 中的目錄中。
我的問題是,為這些創建一個專門的目錄(例如,“/usr/exporters/bin”,組成一些例子)並將所有導出程序放在那裡,並將該文件添加到 $PATH 有什麼好處? 還是最好將程序推送到存放二進製文件的預設目錄?
唯一的好處是 中的目錄更少
$PATH
,因此在查找執行檔時要搜尋的目錄更少,但是:
- 此事件(搜尋 中的所有目錄
$PATH
)很少見。$PATH
條目(執行檔)保存在 內的雜湊表中bash
,該雜湊表在啟動時或通過 更新rehash
。無需$PATH
每次都搜尋。- 這個活動不貴。可以從文件的目錄條目中收集所有需要的資訊(文件存在並且權限允許執行) - 無需訪問每個文件。只需閱讀目錄。
不將執行檔移動到其他常見目錄的原因包括:
- 您將擁有一個非標準的環境。當您尋求幫助時,需要額外的努力來解釋這一點。具體由非標準環境引起的問題將很難解決。
- 您將擁有一個非標準的環境。發布更新版本時,您的環境將與更新所期望的不匹配。
- 您將擁有一個非標準的環境。您必須記住並在本週、下週、之後的一周……永遠進行非標準環境更新。
這是無用的猴子運動。