रूट में रूट / usr / लोकल क्यों नहीं है?


19

मैंने देखा है कि मेरे vm और सर्वर पर रूट के लिए डिफ़ॉल्ट पथ में / usr / लोकल / बिन शामिल नहीं है

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

जबकि सर्वर पर सामान्य उपयोगकर्ता / usr / लोकल / बिन होते हैं

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

रूट को रूट / usr / लोकल की आवश्यकता क्यों नहीं होगी?

उपयोगकर्ता के लिए डिफ़ॉल्ट मार्ग कहां परिभाषित किया गया है?


यह किस ओएस पर है? अधिकांश की क्या ज़रूरत है /usr/local/sbinऔर /usr/local/binजड़ के डिफ़ॉल्ट पथ पर है, लेकिन वहाँ अपवाद हैं।
गिलेस एसओ- बुराई को रोकना '

बस दो आरएचईएल 6.4 वीएम (एक के साथ /usr/local/binऔर एक के बिना) के बीच एक अजीब अंतर का सामना करना पड़ा । और एक के साथ /usr/local/bin, मुझे नहीं पता था कि यह कहाँ सेट किया जा रहा था।
बत्तीसफाड

जवाबों:


19

क्योंकि यह रूट के लिए प्रासंगिक शेल स्टार्टअप फ़ाइलों में सेट नहीं है।

परंपरागत रूप से, /usr/localअनौपचारिक, स्थानीय रूप से इंस्टॉल किए गए सॉफ़्टवेयर के लिए उपयोग किया जाता है (अक्सर छोटी गाड़ी / टूटी हुई / सीमित "आधिकारिक" संस्करणों को ओवरराइड करने के लिए; एक दोस्त ने चुटकी ली कि नया सूर्य आने पर पहला कदम था GNU > /usr/local)। जैसा rootकि सर्व-शक्तिशाली है, इसके द्वारा चलाए जा रहे कार्यक्रमों में कोई भी गलती या गलतफहमी घातक हो सकती है। यह इस कारण से है कि makeजड़ से स्थानीय, प्रायोगिक संस्करण चलाना सावधानी के साथ व्यवहार किया जाना चाहिए। बेहतर है कि यह एक स्पष्ट रास्ता देने का अतिरिक्त कदम है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.