Root
為什麼 root 在路徑中沒有 /usr/local?
我注意到我的虛擬機和伺服器上 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 身份執行例如本地的、實驗性的版本。最好讓它去提供一個明確的路徑的額外步驟。