/ usr /, मुझे लगता है कि कंप्यूटर का उपयोगकर्ता है।
बंद करे।
यूनिक्स एक बहु-उपयोगकर्ता ऑपरेटिंग सिस्टम के रूप में शुरू हुआ, इसलिए यह "उपयोगकर्ता," यह " उपयोगकर्ताओं ", बहुवचन नहीं है।
एटी एंड टी यूनिक्स सिस्टम वी रिलीज़ 4 (एसवीआर 4) से पहले 1988 में अपने उपयोगकर्ता प्रबंधन टूल के साथ उपयोगकर्ता घर निर्देशिकाओं को बनाने में चूक करने के साथ बाहर आया था /home
, पारंपरिक स्थान था। /usr
directory आपकी $HOME
निर्देशिका सिस्टम III बॉक्स /usr/jfw
पर हो सकती है ।
/usr
यह भी तो अब के रूप में निहित,, /usr/bin
, /usr/lib
, आदि अनुभव से पता चला कि घर निर्देशिका अलग-अलग रखने अच्छा सिस्टम प्रबंधन अभ्यास था, इसलिए साथ /home
SVR4 में नीति परिवर्तन, यह सब कुछ पीछे छोड़ दिया अब हम में संबंधित के रूप में के बारे में सोच /usr
।
/usr
अभी भी नाम पर पकड़ रखने का एक अच्छा कारण था: जो कुछ पीछे छूट गया था, वे फ़ाइलें थीं जिन्हें उपलब्ध होने की आवश्यकता नहीं थी जब तक कि सिस्टम सामान्य इंटरैक्टिव उपयोग का समर्थन करने के लिए पर्याप्त रूप से बूट नहीं किया गया था। कहने का तात्पर्य यह है कि जो पीछे रह गया था वह था OS का उपयोगकर्ता- समर्थित भाग। इसका मतलब यह था कि यह /usr
एक अलग भौतिक मात्रा पर हो सकता है, जो कि 92 एमबी हार्ड डिस्क के दिनों में वाशिंग मशीन के आकार को वापस करना अच्छी बात थी ।
प्रारंभिक यूनिक्स सिस्टम कोर ओएस फाइलों को बाहर रखने के लिए सावधान थे /usr
ताकि आप अभी भी एकल-उपयोगकर्ता मोड में बूट कर सकें, भले ही /usr
किसी कारण के लिए वॉल्यूम अनमाउंट था। रूट वॉल्यूम में /usr
वॉल्यूम को ऑनलाइन वापस लाने के लिए पर्याप्त टूल थे ।
कई यूनिक्स की झलक अब इस पुराने डिजाइन सिद्धांत की उपेक्षा के बाद से यहां तक कि छोटे एम्बेडेड सिस्टम दोनों पारंपरिक जड़ मात्रा फ़ाइलों के लिए पर्याप्त जगह और के सभी /usr
एक भी volume.³ रेड हैट एंटरप्राइज लिनक्स, सोलारिस और Cygwin सिमलिंक पर /bin
करने के लिए /usr/bin
और /lib
करने के लिए /usr/lib
इतना है कि वहाँ कोई अब इन निर्देशिकाओं के बीच कोई अंतर नहीं है।
... / स्थानीय / ... स्पष्ट रूप से स्थानीय कंप्यूटर के लिए खड़ा है ...
हाँ। यह इस तथ्य को संदर्भित करता है कि जिन फाइलों के तहत /usr/local
उस एकल प्रणाली को विशेष रूप से माना जाता है। फाइलें जो किसी भी तरह से जेनेरिक हैं, उन्हें कहीं और रहना चाहिए।
इसकी जड़ें भी हैं जिस तरह से यूनिक्स सिस्टम आमतौर पर दशकों पहले इस्तेमाल किया गया था जब यह सब मानकीकृत था। फिर, उस समय के हार्ड डिस्क भारी थे, वास्तव में महंगे थे, और आज के मानकों से बहुत कम संग्रहीत हैं। डिस्क पर पैसे और जगह बचाने के लिए, यूनिक्स बॉक्सों से भरी एक कंप्यूटर लैब अक्सर /usr
एनएफएस या किसी अन्य नेटवर्क फाइल शेयरिंग प्रोटोकॉल में से अधिकांश को साझा करती है, इसलिए प्रत्येक बॉक्स की अपनी निरर्थक कॉपी नहीं होती थी। एक के लिए विशिष्ट फाइलें बॉक्स के नीचे जाना होगा /usr/local
, जो से एक अलग वॉल्यूम होगा /usr
।
यह ऐतिहासिक धरोहर है कि /usr/local
हाथ से इंस्टॉल किए जाने पर यह अभी भी अधिकांश तृतीय-पक्ष यूनिक्स सॉफ़्टवेयर के लिए डिफ़ॉल्ट है । इस तरह के अधिकांश सॉफ्टवेयर आपको पैकेज को कहीं और स्थापित करने की अनुमति देते हैं, लेकिन गैर-विकल्प बनाने से, आपको सुरक्षित डिफ़ॉल्ट मिल जाता है, जो अन्य सामान्य स्थापित स्थानों पर अधिक विशिष्ट उद्देश्यों के साथ हस्तक्षेप नहीं करता है।
इसके बजाय कहीं और सॉफ़्टवेयर स्थापित करने के अच्छे कारण हैं। GNU बैश सोर्स कोडbash
से Apple के macOS टीम का निर्माण तब होता है, जब वे कहते हैं । वे स्थापना उपसर्ग के रूप में उपयोग करते हैं , डिफ़ॉल्ट को ओवरराइड करते हैं , ताकि बैश समाप्त हो जाए ।/
/usr/local
/bin
एक अन्य उदाहरण है जिस तरह से पुराने Linux सिस्टम ने अपने GUI सॉफ्टवेयर को /usr/X11R6
अलग किया, उसे पारंपरिक कमांड लाइन और curses
आधारित सॉफ्टवेयर से अलग रखने के लिए । यह केवल .⁵ के /usr/local
साथ डिफ़ॉल्ट उपसर्ग को ओवरराइड करके किया गया था/usr/X11R6
और / बिन क्या है?
यह "बाइनरी" के लिए छोटा है, जिसका इस संदर्भ में मतलब है "एक फाइल जो कि सादा पाठ नहीं है।" अधिकांश ऐसी फाइलें एक यूनिक्स बॉक्स पर निष्पादन योग्य होती हैं , इसलिए ये दो शब्द कुछ हलकों में पर्याय बन गए हैं। ("कृपया मुझे आरएचईएल 7, फ्रेड के लिए एक बाइनरी बनाएँ।")
एक यूनिक्स बॉक्स पर पाठ फ़ाइलें कहीं और रहते हैं: /etc
, /usr/include
, /usr/share
, आदि
एक बार, यहां तक कि शेल स्क्रिप्ट्स - जो कि सादे पाठ फाइलें हैं - को bin
निर्देशिकाओं से बाहर रखा गया था , लेकिन यह रेखा भी धुंधली हो गई है। आज, bin
निर्देशिका में आमतौर पर किसी भी तरह की निष्पादन योग्य फ़ाइल होती है, चाहे सख्ती से "बाइनरी" हो या नहीं
फ़ुटनोट्स और पाचन :
SVR4 से पहले उपयोगकर्ता प्रबंधन उपकरणों की आदिम प्रकृति का मतलब था कि यह HOME=/usr/$NAME
योजना केवल एक सम्मेलन के रूप में प्रलेखित थी, बजाय एक डिफ़ॉल्ट के रूप में सॉफ्टवेयर टूल द्वारा लागू किए जाने के।
आप इसे " एटी एंड टी यूनिक्स सिस्टम वी रिलीज़ 3.2 सिस्टम एडमिनिस्ट्रेटर गाइड " के पेज 4-8 पर देख सकते हैं : यहां आप /usr/$NAME
एसवीआर 4 के बाहर आने से पहले यूनिक्स के आखिरी प्रमुख संस्करण में एटी एंड टी को पुरानी योजना की सिफारिश करते हुए देखते हैं ।
सिस्टम प्रशासकों के लिए पुरानी यूनिक्स प्रणालियों में यह काफी आम था कि एक अलग योजना का चयन किया जाए जिससे उन्हें अधिक समझ में आए। लोग होने के नाते, इसका मतलब है कि बहुत सी विभिन्न योजनाओं का आविष्कार हुआ।
/home/$NAME
मानक बनने से पहले मैंने एक योजना बनाई थी /u/$NAME
।
एक अन्य प्रणाली मैं इस्तेमाल किया 1990 के दशक में इतने सारे उपयोगकर्ताओं है कि वे एक ही भौतिक वॉल्यूम पर सभी घर निर्देशिका फिट नहीं कर सकता था, इसलिए वे की तरह एक योजना के लिए इस्तेमाल किया /u1/$NAME
, /u2/$NAME
, और इतने पर, के रूप में मुझे याद है। आपके घर की निर्देशिका किस डिस्क पर समाप्त हुई थी, यह उस समय की बात है जब आपके खाते के निर्माण के समय उस पर जगह थी।
जब आप बूट करते हैं तो आप मैक-बॉक्स को एकल-उपयोगकर्ता मोड में बूट कर सकते हैं Cmd-S। स्क्रीन काली हो जाने के बाद, आपको लाइट ग्रे टेक्स्ट दिखाई देता है। यह टर्मिनल के नीचे चलने जैसा है, लेकिन यह पूरी स्क्रीन पर काम करता है क्योंकि GUI अभी तक शुरू नहीं हुआ है।
सावधान, आप के रूप में चल रहे हैं root
।
सिंगल-यूज़र रूट प्रॉम्प्ट पर "एक्जिट" टाइप करें सिंगल-यूज़र मोड छोड़ने के लिए और मल्टी-यूज़र GUI मोड में बूट करना जारी रखें।
यूनिक्स ओएस जो अभी भी महत्वपूर्ण एकल-उपयोगकर्ता मोड फ़ाइलों को रखने के लिए प्रकट होते/usr
हैं, वास्तव में, इन दिनों ऐसा नहीं कर सकते हैं। मैंने एक बार /usr
एक ZFS वॉल्यूम में स्थानांतरित करके एक FreeBSD 9 बॉक्स को अनबूट किया । मैं यह भूल गया कि ZFS-on-root सुविधाओं ने FreeBSD 10 तक लैंडिंग नहीं की, एक पकड़ 22 का निर्माण किया : OS /usr
को माउंट करने के लिए फ़ाइलों की आवश्यकता थी /usr
!
यह काफी बुरा था, लेकिन अगर फ्रीबीएसडी 9 अभी भी अपने एकल-उपयोगकर्ता बूट सामान को बाहर रख /usr
रहा था, तो मैं इसे जगह में तय कर सकता था। चूँकि यह /usr
अविवेकी होने के साथ एकल-उपयोगकर्ता मोड में भी बूट नहीं होगा , स्पष्ट रूप से उस परंपरा का किसी भी तरह से उल्लंघन किया गया था। मुझे उस सिस्टम को फिर से वापस लाने के लिए एक बचाव सीडी से बूट करना पड़ा।
यह वह जगह भी है जहां हम प्राप्त करते हैं /usr/share
: यह उन फ़ाइलों को अलग करता है जिन्हें विभिन्न प्रोसेसर प्रकारों के साथ यूनिक्स बक्से के बीच भी साझा किया जा सकता है। आमतौर पर, टेक्स्ट फाइलें: मैन पेज, डिक्शनरी आदि।
"X11R6" उस समय जब यह सम्मेलन प्रचलित था तब लिनक्स GUIs को कम करने वाले X विंडो सिस्टम के संस्करण को संदर्भित किया गया था। Linux सिस्टम आम तौर पर समय X11R6 से बदला गया के बारे में GUI सॉफ्टवेयर अलग-अलग रखने बंद कर दिया X.Org ।
असली /etc
यूनीक्स के साथ आने से बचने के लिए मूल यूनिक्स प्रणालियों ने अपनी मूल शेल स्क्रिप्ट को रखा /bin
।