Root

為什麼 root 在路徑中沒有 /usr/local?

  • December 23, 2014

我注意到我的虛擬機和伺服器上 root 的預設路徑不包括 /usr/local/bin

sudo -s  
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin

而伺服器上的普通使用者確實有 /usr/local/bin

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/sowen/bin

為什麼 root 在路徑中不需要 /usr/local?

使用者定義的預設路徑在哪裡?

因為它沒有在 root 的相關 shell 啟動文件中設置。

傳統上,/usr/local已用於非官方的本地安裝軟體(通常覆蓋有缺陷/損壞/有限的“官方”版本;一位朋友打趣說,新 Sun 到來的第一步是GNU > /usr/local)。正如root萬能的,它執行的程序中的任何錯誤或錯誤設計都可能是致命的。理所當然地,make應該謹慎對待以 root 身份執行例如本地的、實驗性的版本。最好讓它去提供一個明確的路徑的額外步驟。

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