सवाल उपयोगकर्ता अनुप्रयोगों को स्थापित करते समय, "सर्वोत्तम प्रथाओं" का सुझाव कहां स्थित है?


कभी-कभी मैं उपयोग करने के बजाए मैन्युअल रूप से एप्लिकेशन इंस्टॉल करता हूं apt या एक और पैकेज प्रबंधक।

क्या स्थान (/usr/, /usr/local/, /opt/, /home/, आदि) उपयोगकर्ता अनुप्रयोगों की स्थापना के लिए "सर्वोत्तम प्रथाओं" द्वारा सुझाया गया है?


184
2017-08-05 14:42


मूल


मैंने हर बार स्रोत से चीजों को स्थापित करने की पसंद की, मैंने लिखा ऐसा करने के लिए एक छोटा सा उपकरण जो आपके शैल स्टार्टअप फ़ाइल में अपने आप में परिवर्तन करता है (और यदि आप इसे पुस्तकालय उपसर्ग को संशोधित करते हैं, तो साझा पुस्तकालयों पर निर्भर कार्यक्रमों के लिए)। बहुत समृद्ध नहीं है, लेकिन यह 99% समय काम करता है। - new123456
संबंधित पोस्ट: askubuntu.com/q/138547/62483 - Lucio
के बीच भेद पर महान चर्चा /opt तथा /usr/local : unix.stackexchange.com/q/11544/11917 - blong


जवाब:


यह वास्तव में निर्भर करता है। यदि एप्लिकेशन में मेकफ़ाइल है, (पायथन ऐप्स के लिए) distutils का उपयोग करता है (ए है setup.py फ़ाइल) या एक समान निर्माण / स्थापित प्रणाली, इसे डाल दिया /usr/local/ (डिफ़ॉल्ट व्यवहार)।

यदि आपको केवल टैरबॉल निकालने और सीधे चलाने की आवश्यकता है (उदा। थंडरबर्ड, फ़ायरफ़ॉक्स) तो इसे अंदर रखें /opt/

क्यूं कर? जो मैं समझता हूं उससे, /usr/local/ एक पदानुक्रम है जो समान है /usr/। तो एक प्रोग्राम "स्थापित" होने की उम्मीद है /usr/ ठीक काम करना चाहिए /usr/local/। एक प्रोग्राम जिसे केवल एक निर्देशिका की आवश्यकता होती है और उस निर्देशिका के सापेक्ष सभी फाइलें / पुस्तकालयों को आपके लिए एक निर्देशिका मिल सकती है /opt/


163
2017-08-05 14:53



ऐसा लगता है कि बहुत से लोग भूल जाते हैं opt/ - मेरी राय में आपने सिर के नाखून को इसके उद्देश्य के लिए मारा है। - Marco Ceppi♦
मैंने ग्रहण डाउनलोड किया और निकाला / ऑप्ट किया। मैं इसे जावाक, जावा जैसे अन्य कार्यक्रमों जैसे टर्मिनल से कैसे चला सकता हूं। मैंने अपडेट-विकल्प के साथ निम्नानुसार किया है, सुडो अपडेट-विकल्प - इंस्टॉलेशन "/ usr / bin / eclipse" "ग्रहण" "/ opt / eclipse / ग्रहण" "लेकिन यह कहता है कि कमांड नहीं मिला है I tudpe sudo eclipse - Deepen
/ Usr / bin से symlink बनाएं या इसे ~ / .bashrc में पथ में जोड़ें - Alex


यह याद रखना अच्छा है /usr के लिए खड़ा नहीं है उपयोगकर्ता बल्कि यूनिक्स सिस्टम संसाधन

इस प्रकार, मुझे लगता है कि किसी भी वितरण के पास सभी सामग्रियों की भरपाई करने का अधिकार है /usr, और यह कि सिस्टम में मेरे विशिष्ट जोड़ों में शामिल हैं /usr/local, जिसे मैं अपग्रेड करने से पहले संरक्षित करता हूं।

इस बीच, आवेदन और अन्य चीजें अंदर जाती हैं /opt

कुछ लोग सामान डालने में सहज महसूस करते हैं /home, हालांकि मैं शायद ही कभी उस सम्मेलन का पालन करता हूं।

जो कुछ भी कहा, मैंने वितरण पैकेज प्रबंधक को पहले चीजों को अपना रास्ता देने दिया, और उसके बाद ऊपर रोलिंग सामान जब उपरोक्त करते हैं।


99
2017-09-17 17:39



यह याद रखना उचित है कि 'यूनिक्स सिस्टम संसाधन' एक 'नाम' के बाद किया गया नामांकन किया गया है। पुराने, पुराने, पुराने दिनों (यूनिक्स संस्करण 6 et.al.) में आप / usr / jimmy, / usr / siobhan, / usr / ahmed, आदि जैसे निर्देशिका देखेंगे क्योंकि "उपयोगकर्ता" निर्देशिका / usr में संग्रहीत की गई थीं । - Mark Leighton Fisher
ठीक है मैं काट दूंगा: ऑप्ट का क्या खड़ा है? - Seth
@ सेठ मुझे लगता है कि यह 'वैकल्पिक' है - यह मूल रूप से सॉफ़्टवेयर के लिए था जो डिफ़ॉल्ट स्थापना का हिस्सा नहीं था। - Carl H
/ usr है User। ऐसा इसलिए था क्योंकि लिनक्स उपयोगकर्ता डेवलपर्स थे। सबसे पहले यह देवताओं और उपयोगकर्ताओं में भरोसा करना शुरू कर दिया /home डीआईआर पेश किया गया था। और फिर किसी को इसका मतलब यह था कि इसका मतलब है Unix System Resources, जो वास्तव में समझ में नहीं आता है, क्योंकि हमारे पास है Unix system Resources में /dev - Info-Screen
सही, / usr एक संक्षिप्त नाम है। यूनिक्स 1 9 6 9 में पीडीपी -7 पर वापस चलने के दिन से ही उद्देश्य बदल गया है। - Walt Stoneburner


अस्थिर प्रोग्राम स्थापित करें जैसे / home / user / opt / में फ़ायरफ़ॉक्स डेवेल को निकालना बहुत आसान बनाता है, और अन्य उपयोगकर्ताओं के लिए कोई भ्रम नहीं है कि उन्हें किस संस्करण का उपयोग करना चाहिए ... इसलिए यदि यह वैश्विक उपयोग के लिए कोई प्रोग्राम नहीं है, तो इंस्टॉल करें यह आपके घर निर्देशिका में एक सबफ़ोल्डर में है।

कभी भी / usr / में प्रोग्राम इंस्टॉल न करें, यह अराजकता की संभावना है, / usr में स्थापित चीजें / केवल वितरण संकुल के लिए है। / usr / local / स्थानीय रूप से संकलित संकुल के लिए है। और srtucture बिल्कुल उसी तरह काम करता है! / usr / local / में फ़ाइलों को / usr में फ़ाइलों पर प्राथमिकता दी जाएगी /

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

यदि आप पूरे पथ को टाइप किए बिना "अजीब" स्थान (जैसे / home / user / opt / firefox /) में स्थापित प्रोग्राम चलाने में सक्षम होना चाहते हैं, तो आपको इसे अपने $ PATH चर में जोड़ने की आवश्यकता है, आप यह कर सकते हैं इस तरह की एक पंक्ति को आपके /home/user/.profile में जोड़ना

export PATH=/home/user/opt/firefox:$PATH

फ़ोल्डर का नाम वह होना चाहिए जहां निष्पादन योग्य फ़ाइल को चलाने की आवश्यकता है।


30
2017-08-07 08:40





लिनक्स फाइलसिस्टम पदानुक्रम मानक इंगित करता है /usr/local

से http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html:

'/ Usr / local' के पीछे मूल विचार एक अलग ('स्थानीय') था   प्रत्येक मशीन पर '/ usr' निर्देशिका '/ usr' के अलावा, जो कि हो सकती है   कहीं और से पढ़ा जाता है। यह संरचना की प्रतिलिपि बनाता है   '/ Usr'। इन दिनों, '/ usr / local' व्यापक रूप से एक अच्छी जगह के रूप में माना जाता है   जो स्वयं संकलित या तीसरे पक्ष के कार्यक्रमों को रखने के लिए। / Usr / स्थानीय   स्थापित करते समय सिस्टम प्रशासक द्वारा पदानुक्रम का उपयोग किया जाता है   स्थानीय रूप से सॉफ्टवेयर। इसे ओवरराइट होने से सुरक्षित होना चाहिए   सिस्टम सॉफ्टवेयर अद्यतन किया गया है। इसका उपयोग कार्यक्रमों और डेटा के लिए किया जा सकता है   मेजबानों के समूह के बीच साझा करने योग्य हैं, लेकिन / usr में नहीं मिला है। स्थानीय स्तर पर   स्थापित सॉफ्टवेयर / usr / local के बजाय / usr / local के अंदर रखा जाना चाहिए   जब तक यह / usr में सॉफ़्टवेयर को प्रतिस्थापित या अपग्रेड करने के लिए इंस्टॉल नहीं किया जा रहा है।


25
2017-08-05 14:45



ऑप्टिकल पेज पर जानकारी के साथ इस / usr / स्थानीय सामान का खंडन करने लगता है: tldp.org/LDP/Linux-Filesystem-Hierarchy/html/opt.html "" यह निर्देशिका सभी सॉफ़्टवेयर और एड-ऑन पैकेजों के लिए आरक्षित है जो डिफ़ॉल्ट स्थापना का हिस्सा नहीं हैं। उदाहरण के लिए, स्टारऑफिस, किलिक्स, नेटस्केप कम्यूनिकेटर और वर्डफेरफेक्ट पैकेज आमतौर पर यहां पाए जाते हैं। एफएसएसटीएनडी का अनुपालन करने के लिए, इस निर्देशिका में सभी तृतीय पक्ष अनुप्रयोगों को स्थापित किया जाना चाहिए। "..." (जिस तरह से विंडोज अपने स्वयं के निर्देशिका पेड़ सी: \ विंडोज \ प्रोगम फाइल \ "प्रोग्राम नाम के लिए नया सॉफ्टवेयर स्थापित करेगा ")" - Pod


मेरे पास आमतौर पर मेरे घर में "प्रोग्राम" नामक एक फ़ोल्डर होता है जहां मैं उन प्रोग्रामों को स्थापित करता हूं, अजीब पर्याप्त (या नहीं) वे अभी सभी जावा सामान हैं।

मेरे लिए यह एक बड़ा फायदा है, जब मैं कंप्यूटर को पुनर्स्थापित या बदलता हूं तो वे मेरे बाकी घर के साथ चले जाते हैं। इसका स्पष्ट नुकसान है, वे ऐप्स केवल मेरे उपयोगकर्ता के लिए उपलब्ध हैं।


5
2017-08-05 14:57



घर फ़ोल्डर में डेटा खोए बिना मैं उबंटू 16.04 को कैसे पुनर्स्थापित कर सकता हूं? मैंने फॉर्मेट करने की कोशिश की / केवल निर्देशिका ही वही पुराना उपयोगकर्ता नाम और पासवर्ड टाइप करें लेकिन मुझे पता चला कि उबंटू एक और घर फ़ोल्डर बनाता है। - Ibrahim Disouki


अपने विदेशी पैकेज को डेब में बदलने के लिए "चेकइंस्टॉल" का उपयोग करें ताकि यह पैकेज प्रबंधक का उपयोग कर अनइंस्टॉल करने योग्य हो।

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


1
2017-08-16 01:41