/ usr / स्थानीय या / ऑप्ट?


43

आप आमतौर पर लिनक्स पर अपने पैकेज की स्थापना के लिए कैसे आगे बढ़ते हैं, उन पैकेजों के लिए जो आपके डिस्ट्रिब के रिपोज का हिस्सा नहीं हैं?

मेरी तरफ से मुझे / ऑप्ट में स्थापित करने के लिए उपयोग किया जाता है। लेकिन जब से, मैंने इंटरनेट पर इस डॉक को देखा: http://www.pathname.com/fhs/ । अब मैं उलझन में हूँ: जाहिरा तौर पर / usr / स्थानीय भी एक संभावना होगी।

दोनों में क्या अंतर है? साझा करने के लिए कोई सर्वोत्तम अभ्यास?

धन्यवाद

SirFabel


पवित्र युद्ध क्षेत्र और वास्तव में बूट करने के लिए एक प्रोग्रामिंग विषय नहीं है।
dmckee

जवाबों:


32
  • सब कुछ है कि यूनिक्स शैली संकलित और स्थापित किया जाना है और FHS -> का अनुपालन करता है/usr/local
  • बाकी सब कुछ (उदाहरण के लिए एक जावा वेब-एप्लिकेशन जो कि स्वयं अनुप्रयोगकर्ता है और एक ज़िप संग्रह में संसाधनों का भार -> है /opt

लिंटियन पैकेजों को स्थापित करने की अनुमति नहीं देते हैं / न ही / usr / स्थानीय अब भी चुनते हैं
क्रिस्टियानो

24

अतिरिक्त दिलचस्प जानकारी के रूप में: इसका मूल अर्थ /usr/localयह है कि यदि /usrनेटवर्क-माउंटेड ( /usrकई कंप्यूटरों में साझा किया गया), कंप्यूटर के /usr/localलिए एक अलग फाइल सिस्टम होगा (स्थानीय डिस्क पर विभाजन)।

और उस विषय पर रहते हुए, भले ही यह प्रश्न के लिए ऑफ-टॉपिक हो: यदि विभिन्न आर्किटेक्चर वाले कई कंप्यूटर हैं, तो स्वाभाविक रूप से /usrप्रत्येक आर्क के लिए एक /usr/shareहोगा , लेकिन आर्किटेक्चर के बीच साझा किया गया एक और अलग फाइल सिस्टम होगा (इसलिए 'शेयर') ।


4
नहीं ... ऐतिहासिक रूप से (हाँ, मैं वहां था!) ​​/ Usr एट अल के पास विक्रेता द्वारा प्रदान किया गया सामान था, / usr / स्थानीय स्थानीय रूप से स्थापित सामान था (यानी, bash, gcc और अन्य अच्छी चीजें)।
vonbrand

@vonbrand क्या आप वाकई जवाब का खंडन कर रहे हैं? यह सिर्फ ऐसा लगता है कि मेजबान के बीच जो कुछ भी साझा करने की आवश्यकता है / usr होगा, और जो कुछ भी ज़रूरत नहीं थी, वह / usr / स्थानीय में होगा
Didier A.

@ डिडियर ए, जब मैंने यूनिक्स ('80 के दशक) का उपयोग करना शुरू किया, तो एक मशीन थी, कोई नेटवर्किंग नहीं थी ... और उनके पास / usr और / usr / स्थानीय था।
वॉनब्रांड

@vonbrand ओह मैं देख रहा हूँ, दिलचस्प। तब यह लगता है कि मूल / usr और / usr / स्थानीय होने का मूल रहस्य अभी भी एक रहस्य है।
डिडियर ए।

@ डिडियर ए, फिर से: / usr को ऑपरेटिंग सिस्टम, "मानक" सामान, / usr / स्थानीय के साथ जोड़ा गया था, स्थानीय परिवर्धन (होमब्रेव्ड, यूसेनेट से छूट गया, एक सम्मेलन में एक दोस्ताना कॉलगर्ल से फिल्माया गया, ...) । मानक नहीं, बस आम उपयोग है।
वॉनब्रांड

7

जिस तरह से मैं यह करता हूं कि अगर उसे खुद के लिए एक उपसर्ग की आवश्यकता होती है या यह एक बाइनरी पैकेज है, तो मैं / ऑप्ट (जो कि बहुत अधिक सोलारिस तरीका है) के लिए जाता हूं। अगर मैं स्रोत / usr / स्थानीय से संकलन कर रहा हूं तो मैं कैसे जाऊंगा


6

मैंने एक निजी निर्देशिका में सब कुछ डाल दिया और फिर GNU स्टोव का उपयोग किया ।

तो, मैं पैकेज X.ver को स्थापित करूँगा /BASE/stow/X.ver। जीएनयू स्टो तो में सभी संकुल (सिमलिंक के साथ) गठबंधन होगा /BASE/bin, /BASE/libआदि

संघर्ष और संकुल को हटाने से निपटना बहुत आसान है।


मैंने आमतौर पर स्टोव "पैकेज" के लिए घर के रूप में / usr / स्थानीय / स्टोव / <packagename> का उपयोग किया है, और ऐसा लगता है कि यह एक अच्छा अभ्यास है - अगर कोई अन्य व्यक्ति / usr / स्थानीय दिखता है तो यह स्पष्ट करता है कि क्या हो रहा है और क्या हो रहा है सिस्टम सीमलिंक बनाए हुए है।
स्टेफनी

3

यहाँ मैं FHS मानक की व्याख्या कैसे करूँ:

/ usr / लोकल स्थानीय रूप से निर्मित या स्थानीय रूप से स्थापित फ़ाइलों के लिए है, चाहे पैकेज्ड हो या न हो, जो कुछ हद तक ऑपरेटिंग सिस्टम के उस उदाहरण का हिस्सा बन जाते हैं।

/ ऑप्ट ऑपरेटिंग सिस्टम का हिस्सा नहीं "विदेशी" पैकेज स्थापित करने के लिए एक जगह है।

जब तक आप केवल सिंगल सिस्टम पर फ़ाइलों का उपयोग करते हैं, जहां आप उन्हें बनाते हैं, / usr / लोकल ठीक है, और इसलिए ओपन सोर्स सॉफ़्टवेयर के विशाल बहुमत के लिए डिफ़ॉल्ट आधार निर्देशिका है।

यदि आप अपने पैकेज को फिर से वितरित करने की योजना बनाते हैं, तो मैं कस्टम बेस डायरेक्टरी जैसे / ऑप्ट / मायपैकेज का उपयोग करने की सलाह दूंगा।


2

सोलारिस का इस्तेमाल किया / चुना गया। कई आधुनिक लिनक्स डिस्ट्रोस अब / usr / लोकल / में पैकेज की उम्मीद करते हैं। विचार समान है - सॉफ्टवेयर डालने का स्थान जो इस मशीन को बनाता है जो वह करता है, जैसा कि ऑपरेटिंग सिस्टम के विपरीत है। यह विंडोज सिस्टम पर "प्रोग्राम फाइल्स" के अनुरूप है।

एक उठाओ और इसे करने के लिए छड़ी। यह सिम्लिंक / ऑप्ट / यूएसआर / लोकल के लिए काफी आसान है।


मुझे ली की टिप्पणी पसंद है, समस्या के बारे में सोचने का अच्छा तरीका। यह मेरे लिए एक अजीब सा महसूस होगा / एक डेबियन मशीन का विकल्प चुनना, लेकिन यह शायद सिर्फ व्यक्तिगत पसंद है।
काइल हॉजसन

कृपया नहीं। FHS काफी दिनांकित हो सकता है, लेकिन यह / usr बनाम / usr / स्थानीय बनाम / ऑप्ट ध्वनि पर तर्क कर रहा है: मानक, वितरण प्रदान किया गया; स्थानीय रूप से स्थापित, होमब्रे या प्रायोगिक सामान जैसे गीथब; विक्रेता द्वारा प्रदान किया गया गैर-मानक सामान।
वॉनब्रांड

0

यदि आप अपने ऑपरेटिंग सिस्टम वितरण द्वारा प्रदान किए गए सॉफ़्टवेयर को फिर से जोड़ते हैं, तो आपके बहुत ही मशीन, उपयोग / usr / स्थानीय के लिए विशिष्ट कई आर्किटेक्चर लाभों का लाभ उठाने के लिए।

यदि आप अपने ऑपरेटिंग सिस्टम वितरण की तुलना में अन्य स्रोतों से सॉफ़्टवेयर का एक टुकड़ा जोड़ते हैं, तो इसे / ऑप्ट में डालें।

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