Saya perhatikan bahwa path default untuk root pada vm saya dan server tidak menyertakan / usr / local / bin
sudo -s
echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
Sedangkan pengguna normal di server memiliki / usr / local / bin
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/sowen/bin
Mengapa root tidak perlu / usr / local di path?
Di mana jalur default untuk pengguna ditentukan?
/usr/local/sbin
dan/usr/local/bin
pada jalur default root, tetapi ada pengecualian./usr/local/bin
dan satu tanpa). Dan yang bersama/usr/local/bin
, saya tidak bisa menemukan di mana itu diatur.Jawaban:
Karena itu tidak diatur dalam file startup shell yang relevan untuk root.
Secara tradisional,
/usr/local
telah digunakan untuk perangkat lunak yang tidak resmi, yang diinstal secara lokal (sering kali untuk mengesampingkan versi "resmi" yang buggy / rusak / terbatas; seorang teman menyindir bahwa langkah pertama ketika Sun baru tiba adalahGNU > /usr/local
). Seperti yangroot
sangat kuat, kesalahan atau kesalahan desain dalam program yang dijalankannya bisa berakibat fatal. Masuk akal bahwa menjalankan mis. Versi lokal, versi percobaanmake
oleh root harus diperlakukan dengan hati-hati. Lebih baik lakukan langkah ekstra untuk memberikan jalur eksplisit.sumber