/ बिन और / usr / बिन के बीच अंतर


83

मैंने इसे इस वेबसाइट पर पढ़ा और इसका कोई मतलब नहीं है।

http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/basic/node32.html

जब UNIX पहली बार लिखा गया था, /binऔर /usr/binशारीरिक रूप से दो अलग-अलग डिस्क पर आधारित था: /binएक छोटी तेज (अधिक महंगी) डिस्क पर, और /usr/binएक बड़ी धीमी डिस्क पर। अब, /binएक प्रतीकात्मक कड़ी है /usr/bin: वे मूल रूप से एक ही निर्देशिका हैं।

लेकिन जब आप फ़ोल्डर, यह तुलना में कहीं कम सामग्री है (कम से कम मेरे चल सिस्टम पर) फ़ोल्डर।ls/bin/usr/bin

तो क्या कोई कृपया अंतर समझा सकता है?


उन लोगों को एक विशिष्ट मशीन के बारे में बात नहीं कर रहे हैं?
tshepang

1
@tshepang अच्छी तरह से अगर आप ऊपर क्लिक करते रहें, तो लेख में आप UNIX / linux के मूल परिचय तक पहुँच जाएँगे । तो मैं नहीं कहूंगा, वे एक विशिष्ट मशीन के बारे में बात नहीं कर रहे हैं
xenoterracide

3
@xeno हाँ, मैंने किया था, लेकिन काफी देर तक नहीं टिक पाया। उस स्थिति में, उस पृष्ठ को नीचे ले जाना चाहिए। इसलिए भ्रामक।
tshepang

3
उस दस्तावेज को 'ऐतिहासिक संदर्भ' माना जा सकता है। यदि आप "इस दस्तावेज़ के बारे में" पृष्ठ को देखते हैं, तो आप देखेंगे कि यह मूल रूप से 1993 में कॉपीराइट किया गया था। यदि आप ग्रंथ सूची को देखते हैं, तो यह सबसे हालिया स्रोत 1997 है। अधिकांश लोकप्रिय यूनिक्स जैसे ऑपरेटिंग सिस्टम काफी हद तक बदल गए हैं फिर।
गाबे

1
इस विन्यास की ऐतिहासिकता में दिलचस्पी रखने वाले किसी भी व्यक्ति को इसे पढ़ना चाहिए: lists.busybox.net/pipermail/busybox/2010-Deuled/074114.html
JDS

जवाबों:


73

क्या? नहीं /bin/, /usr/binकिसी भी FHS आज्ञाकारी प्रणाली पर सहानुभूति नहीं है। ध्यान दें कि अभी भी लोकप्रिय यूनिक्स और लिनक्स हैं जो इसे अनदेखा करते हैं - उदाहरण के लिए, /binऔर आर्क लिनक्स पर /sbinसहानुभूति रखते हैं /usr/bin(तर्क है कि आपको /binबचाव / एकल-उपयोगकर्ता-मोड की आवश्यकता नहीं है, क्योंकि आप सिर्फ एक लाइव बूट करेंगे सीडी)।

/bin

इसमें ऐसे कमांड होते हैं जिनका उपयोग सिस्टम एडमिनिस्ट्रेटर और यूजर्स दोनों के द्वारा किया जा सकता है, लेकिन जब किसी अन्य फाइल सिस्टम को माउंट नहीं किया जाता है (जैसे सिंगल यूजर मोड में)। इसमें ऐसे कमांड भी हो सकते हैं जो स्क्रिप्ट द्वारा अप्रत्यक्ष रूप से उपयोग किए जाते हैं

/usr/bin/

यह सिस्टम पर निष्पादन योग्य कमांड की प्राथमिक निर्देशिका है।

अनिवार्य रूप से, /binनिष्पादक शामिल हैं जो कि आपातकालीन मरम्मत, बूटिंग और एकल उपयोगकर्ता मोड के लिए सिस्टम द्वारा आवश्यक हैं। /usr/binकिसी भी बायनेरिज़ की आवश्यकता नहीं है।

मैं ध्यान दूंगा, कि वे अलग डिस्क / विभाजन पर हो सकते हैं, /binएक ही डिस्क पर होना चाहिए //usr/binएक और डिस्क पर हो सकता है - हालांकि ध्यान दें कि यह कॉन्फ़िगरेशन थोड़ी देर के लिए टूट गया है (यही कारण है कि सिस्टमड बूट पर इस कॉन्फ़िगरेशन के बारे में चेतावनी देता है)।

पूर्ण शुद्धता के लिए, कुछ इकाइयाँ FHS को अनदेखा कर सकती हैं, क्योंकि मेरा मानना ​​है कि यह केवल एक लिनक्स मानक है, मुझे पता नहीं है कि इसे अभी तक SUS, Posix या किसी अन्य UNIX मानक में शामिल किया गया है, हालाँकि यह IMHO होना चाहिए। यह हालांकि एलएसबी मानक का एक हिस्सा है ।


तो क्या इसका मतलब है कि मैं दो distros के बीच / usr / बिन साझा कर सकता हूं? ubuntu 10.04 और 10.10 पसंद है?
बाल्की

4
@balki नहीं, उन्हें अभी भी सही तरीके से जोड़ा जाना है, जिसका अर्थ है कि उन्हें उनके खिलाफ बनाए गए परिवादों के सही संस्करण का उपयोग करना होगा।
xenoterracide

6
/bin/usr/binकुछ यूनियनों पर एक कड़ी है , जैसे (कुछ रिलीज?) सोलारिस।
गाइल्स

1
@ बाल्की आप दो बहुत समान डिस्ट्रो के बीच साझा करने में सक्षम हो सकते हैं /usr, हालांकि मैं यह कोशिश नहीं करूंगा कि जब तक आप यह नहीं जानते कि आप क्या कर रहे हैं, और आप प्रयोग के लिए तैयार हैं ताकि कंप्यूटर को बूट न ​​किया जा सके, या खाया जा सके आपका डेटा। यह भी सलाह दी जाती है कि 10.04 और 10.10 के बीच कई बड़े अंतर होंगे/usr
xenoterracide

2
आइए इसे भी शामिल करें / usr / स्थानीय / बिन वह प्रोग्राम है जो आपके वितरण के साथ शामिल नहीं हैं लेकिन सिस्टम-वाइड उपयोग के लिए अभिप्रेत हैं।
डोनाटो

56

/sbin - बूटिंग, निम्न-स्तरीय प्रणाली की मरम्मत, या रखरखाव (रन स्तर 1 या S) के लिए आवश्यक बायनेरिज़

/bin - किसी भी रन स्तर पर सामान्य / मानक प्रणाली के कामकाज के लिए आवश्यक बायनेरिज़।

/usr/bin - एप्लिकेशन / वितरण बायनेरिज़ को स्थानीय रूप से लॉग इन उपयोगकर्ताओं द्वारा एक्सेस किया जाना है

/usr/sbin - आवेदन / वितरण बायनेरिज़ जो / sbin में सामान का समर्थन या कॉन्फ़िगर करते हैं।

/usr/share/bin - एप्लीकेशन / डिस्ट्रीब्यूशन बायनेरीज़ या स्क्रिप्ट्स का अर्थ वेब के माध्यम से अर्जित किया जाना है, यानी अपाचे वेब एप्लिकेशन

*local*- बायनेरिज़ एक वितरण का हिस्सा नहीं; स्थानीय रूप से संकलित या मैन्युअल रूप से स्थापित। आम तौर पर कभी नहीं एक है /local/binलेकिन हमेशा एक /usr/local/binऔर /usr/local/share/bin


4
ओह, और आप इन सभी को एक अलग डिस्क या विभाजन पर रख सकते हैं यदि आप चाहें, तो सुरक्षा के लिए या जो भी। विचार यह है कि आप umount / usr कर सकते हैं और सिस्टम के पास बुनियादी कामकाज के लिए इसकी सभी जरूरतें होंगी, लेकिन यह किसी भी गैर-सिस्टम एप्लिकेशन को नहीं चला सकता है।
LawrenceC

1
काश मैं इस साल पहले पता होता। सबसे अच्छा स्पष्टीकरण मैंने अब तक देखा है। मैं यह नहीं कह सकता कि मैं बहुत मेहनती लग रहा था, लेकिन आखिरकार इसका जवाब जानकर खुशी हुई।
डेविड

2
यह एक महान जवाब है। अगर मैं कर सकता हूँ तो मैं आपको अपने 10 अंक दान करूँगा
उभयचर

/usr/binजब कोई उपयोगकर्ता लॉग इन नहीं होता है तो @ultrasawblade स्वचालित रूप से अनमाउंट है? उदाहरण के लिए, जब लिनक्स बूट करता है और लॉगिन प्रमाणीकरण प्रस्तुत करता है, तो /usr/binमाउंट किया जाता है या नहीं?

1
नहीं, यह बूट पर लगाया गया है और जब तक आपका सिस्टम असामान्य रूप से कॉन्फ़िगर नहीं किया जाता है, तब तक इसे माउंट नहीं किया जाता है।
LawrenceC

17

इस मुद्दे पर किसी तरह का "अपडेट":

हाल ही में कुछ लिनक्स वितरण विलय कर रहे हैं /binमें /usr/binऔर Relatedly /libमें /usr/lib। कभी-कभी यह भी (/usr)/sbinकरने के लिए /usr/bin(आर्क लिनक्स)। तो /usrउसी समय उपलब्ध होने की उम्मीद है /

दो पदानुक्रमों के बीच अंतर को अनावश्यक जटिलता के रूप में लिया जाता है। यह विचार एक बार केवल /binबूट पर उपलब्ध था, लेकिन प्रारंभिक रैमडिस्क होने से यह अप्रचलित हो जाता है।

मुझे पता है फेडोरा लिनक्स (2011) और आर्क लिनक्स (2012) इस तरह से चल रहा है और सोलारिस लंबे समय (> 15%) के लिए ऐसा कर रहा है।


8

लिनक्स पर /binऔर /usr/binअभी भी अलग हैं क्योंकि /usrएक अलग विभाजन पर होना आम है (हालांकि यह कॉन्फ़िगरेशन कभी-कभी सूक्ष्म तरीकों से टूट जाता है)। में /binसभी आदेश दिए गए हैं कि यदि आप केवल है की आवश्यकता होगी /रखा होगा।

सोलारिस और आर्क लिनक्स (और शायद अन्य) /binपर एक सहिष्णुता है /usr/bin। आर्क भी है /sbinऔर /usr/sbinकरने के लिए सहानुभूति है /usr/bin

विशेष रूप से ध्यान दें, /bin"सिस्टम एडमिनिस्ट्रेटर" कमांड के लिए और /usr/binयूजर कमांड के लिए जो स्टेटमेंट है वह सच नहीं है (जब तक आप ऐसा नहीं सोचते हैं bashऔर lsकेवल एडमींस के लिए हैं, जिस स्थिति में आपको बहुत कुछ सीखना है)। प्रशासक आदेशों में हैं /sbinऔर /usr/sbin


1
किसने कहा binकि केवल सिस्टम प्रशासक के लिए है? sbinइसके लिए क्या है
xenoterracide

आपको मिस किया। क्षमा करें, मैं बहुत तेजी से पढ़ रहा था।
बहमट

5

कई UNIX- आधारित सिस्टम हैं। लिनक्स, एआईएक्स, सोलारिस, बीएसडी, आदि मूल उद्धरण ऐतिहासिक संदर्भ देता है जो सभी स्वादों पर लागू होता है। यदि आप किसी एक विशिष्ट प्रणाली को देखते हैं, तो आपको विभिन्न परिणाम दिखाई देंगे। मूल उद्धरण का अंतिम वाक्य केवल कुछ संस्करणों और वितरणों के लिए विशिष्ट है।

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