मुझे कैसे पता चलेगा कि चीजों को कहां से लाना है?


58

खिड़कियों में कुछ स्थापित करने से एक बटन पर क्लिक होता है। लेकिन हर बार मैं लिनक्स में कुछ स्थापित करने की कोशिश करता हूं, जो एपीटी में नहीं पाया जाता है, मैं इतना भ्रमित हो जाता हूं।

आप ज़िप्ड फोल्डर डाउनलोड करते हैं, फिर क्या? यदि आप भाग्यशाली हैं तो एक README है, कुछ दस्तावेज़ीकरण का उल्लेख करते हुए, जो आपके भाग्यशाली होने पर आपकी मदद कर सकता है।

एक्सटेंशन और एप्लिकेशन को "इंस्टॉल" करते समय जादू की चाल क्या है जो एपीटी में नहीं पाई जाती है?

मुझे लिनक्स बहुत पसंद है, लेकिन यह समस्या मुझे हर दिन परेशान करती है।



8
विषय से परे। लेकिन सरल चाल यह है कि पैकेज प्रबंधन प्रणाली के बाहर कभी भी कुछ भी स्थापित न करें।
Let_Me_Be

1
यदि यह एपीटी से नहीं है, तो यह संभवतः ऐसा कुछ नहीं है जिसे आप बस स्थापित कर सकते हैं - आपको इसे स्वयं संकलन और स्थापित करने की आवश्यकता होगी। और फिर यह APT- आधारित पैकेज के साथ भ्रमित होने लगेगा। यह सिर्फ एपीटी / .debs को खोजने के लिए सबसे सरल है जो भी आपको चाहिए।
रुप

2
@Rup प्लस अगर किसी सॉफ्टवेयर में एक डिबेट पैकेज नहीं है, तो शायद आपको इसे इंस्टॉल नहीं करना चाहिए, क्योंकि यह या तो कुछ अपग्रेड किया गया है, या एजिंग ब्लीडिंग एज है, या उपयुक्त-आधारित वितरण के साथ असंगत है।
Let_Me_Be

3
एक बार सॉफ्टवेयर बनाने / स्थापित करने के साथ पर्याप्त अनुभव प्राप्त करने के बाद, आप बस अपना पैकेज बना सकते हैं। कृपया अपस्ट्रीम प्रदाता को प्रतिक्रिया प्रदान करना सुनिश्चित करें!
jsbillings

जवाबों:


32

यदि यह एक सॉफ्टवेयर है जो अनुसरण करता है फ़ाइल-सिस्टम अनुक्रम स्टैंडर्ड से आप में यह जगह चाहिए /usr/localऔर उचित उपनिर्देशिका (जैसे bin, lib, share, ...)।

अन्य सॉफ़्टवेयर को अपनी निर्देशिका के अंतर्गत रखा जाना चाहिए /opt। फिर या तो निर्देशिका PATHको शामिल करने के लिए अपने चर को निर्धारित करें binया जो भी निर्देशिका निष्पादन योग्य रखती है, या करने के लिए प्रतीकात्मक लिंक बनाएं /usr/local/bin


1
अच्छा जवाब, वास्तव में, लेकिन हर दिन ऐसा नहीं करना चाहिए।
फुनेह

1
@phunehehe - आपको इसे हर दिन करना होगा?
रोब

3
नहीं, मैं ओपी के "यह समस्या मुझे हर दिन परेशान करती है" का जिक्र कर रही थी।
फुनेहे

1
FHS की विकिपीडिया लिंक के अलावा, इसे भी पढ़ें: pathname.com/fhs/pub/fhs-2.3.html । "उद्देश्य" कहने वाले अनुभाग को पढ़ें।
यासुसर

27

इस सवाल का कोई आसान जवाब नहीं है, लेकिन मैं आपको एक सामान्य रूपरेखा दे सकता हूं कि यह कैसे काम करता है:

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

विंडोज सॉफ्टवेयर आमतौर पर पहले से तैयार फॉर्म में आता है। इसका मतलब है कि सभी विंडोज कंप्यूटरों के लिए एक सामान्य निष्पादन योग्य फ़ाइल है, और निर्भरताएं अक्सर इसके साथ स्थापित पैकेज में आती हैं।

लिनक्स वितरण सोर्सकोड लेते हैं, इसे आपके लिए precompile करते हैं और इसे एक पैकेज के रूप में भी पेश करते हैं। पैकेज में निर्भरताएं शामिल नहीं हैं, लेकिन यह उन्हें संदर्भित करता है और पैकेज सिस्टम को उन्हें स्थापित करने के लिए मजबूर करता है (जो कभी-कभी गड़बड़ी पैदा कर सकता है जिसे आपने शायद पहले से ही अनुभव किया है)।

यदि कोई पूर्व-निर्मित पैकेज नहीं है, तो आप हमेशा स्रोत कोड डाउनलोड कर सकते हैं और इसे स्वयं संकलित कर सकते हैं। ज्यादातर समय, निम्नलिखित काम करेगा:

./configure
make
(sudo) make install (or sudo checkinstall)

./Configure लाइन संकलन प्रक्रिया के लिए चरण निर्धारित करता है (और निर्भरता पूरी नहीं होने पर त्रुटियों को दूर करता है)। मेक लाइन मेकफाइल को निष्पादित करेगी, एक स्क्रिप्ट जो प्रोग्राम के सभी हिस्सों को संकलित करती है।

परंपरागत रूप से, आप सॉफ़्टवेयर स्थापित करने के लिए फिर से इंस्टॉल करने का उपयोग करेंगे। यह आम तौर पर / usr / स्थानीय / बिन में निष्पादक डालता है।

चूँकि आप apt का उपयोग कर रहे हैं, मैं बहुत ही सलाह देता हूँ कि आप checkinstall करवाएँ। आप इसे स्थापित करने के स्थान पर उपयोग कर सकते हैं, और यह आपके लिए एक .deb पैकेज उत्पन्न करेगा। इससे सॉफ़्टवेयर को बाद में साफ़ करना बहुत आसान हो जाता है।

ध्यान दें कि मुट्ठी भर अन्य संकलन sytems हैं, उदाहरण के लिए cmake; और कुछ सॉफ्टवेयर पहले से तैयार हो जाते हैं लेकिन अनपैक्ड (जिस स्थिति में आप इसे अनजिप्ड फोल्डर से शुरू कर सकते हैं); और कुछ सॉफ़्टवेयर स्क्रिप्ट के संग्रह के रूप में आते हैं जिन्हें आपको स्वयं चलाना होता है। एसवीएन से ताज़ा कोड कभी-कभी कॉन्फ़िगर स्क्रिप्ट के बिना आता है, इसलिए आपको सबसे पहले ऑटोकॉन्फ़ टूलचैन ... आदि को चलाना होगा, आदि ... आप देखते हैं कि नियम के बहुत सारे अपवाद हैं, लेकिन थोड़ा अनुभव के साथ आप करने में सक्षम होंगे उन रहस्यमय डाउनलोडों में से अधिकांश का क्या करें। कॉन्फ़िगर-मेक-चेक स्थापना एक अच्छी पहली शुरुआत है।

पुनश्च। अपने आप को प्रोग्राम करने का तरीका जानने के लिए एक या दो सप्ताह का समय बिताएं, और चीजें बहुत स्पष्ट हो जाएंगी :-)

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


1
"पीएस। अपने आप को कैसे प्रोग्राम करें, यह जानने के लिए एक सप्ताह के अंत में खर्च करें और चीजें बहुत स्पष्ट हो जाएंगी :-)"। अन्यथा उत्कृष्ट उत्तर में बुरी सलाह। लोगों को लाइनक्स समझने के लिए प्रोग्राम करने के लिए कहना विमानों की मरम्मत के लिए एयरलाइन यात्रियों की तरह है।
अपूर्व ०२

प्रोग्रामिंग के बजाय बस इसे बदलने के लिए अपने स्वयं के लिनक्स को संकलित करें, जैसे LFS (स्क्रैच से लिनक्स) linuxfromscratch.org
jsolarski

@apurv, बिंदु लिया गया। :)
sebastian_k

4

आप की जांच करनी चाहिए checkinstall । के बजाय

./configure
make
sudo make install

तुम करो

./configure
make
sudo make checkinstall

और आप उस पैकेज को प्रबंधित कर पाएंगे जैसे कि आपने इसे apt के माध्यम से स्थापित किया हो।


उफ़, अभी देखा कि @sebastian_k ने पहले ही जाँच की स्थापना का उल्लेख कर दिया है ... ओह ठीक है!
मंगल

1

एक वैध, समझदार कारण यह इतना भ्रामक है (एक कष्टप्रद विरूपण साक्ष्य कारण भी है ...)

यूनिक्स का बहु-उपयोगकर्ता होने का एक इतिहास है और अधिकांश उपयोगकर्ताओं के पास उन क्षेत्रों के बाहर एप्लिकेशन इंस्टॉल करने की पहुंच नहीं है, जिन्हें उन्हें विशिष्ट पहुंच प्रदान की गई थी।

तो सिद्धांत यह होगा कि आप अपने घर निर्देशिका में कुछ का निर्माण करेंगे, फिर इसे उस क्षेत्र में कॉपी कर लें जिस पर आपका नियंत्रण था (अपने स्वयं के परियोजना क्षेत्र, या एक साझा क्षेत्र)।

विंडोज पीसी आम तौर पर सिंगल-यूजर सिस्टम होते हैं और इसमें अड़चन नहीं होती, सब कुछ प्रोग्राम फाइल्स में चला जाता है, चाहे कुछ भी हो।

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

इनिट सिस्टम और भी खराब है।

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