Yum, apt-get, rpm ./configure && मेक इनस्टॉल में क्या अंतर है?


126

मैं लिनक्स में नया हूं और CentOS चला रहा हूं। मैं सॉफ्टवेयर को अपडेट या इंस्टॉल करने के लिए चार तरीके से आया हूं।

अब तक, मैंने देखा है:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz-> unpack-> ./configure-> make->make install

यह आखिरी एक वास्तविक दर्द है, विशेष रूप से विंडोज से आ रहा है, जहां एक प्रोग्राम इंस्टॉल आमतौर पर एक क्लिक और एक अच्छा इंस्टॉल विज़ार्ड है।

तो, मेरे सवाल हैं:

  • लिनक्स में ऐसा करने के लिए बहुत सारे अलग-अलग तरीके क्यों हैं?
  • आप किसका उपयोग करने की सलाह देते हैं और क्यों?
  • लिनक्स में प्रोग्राम इंस्टॉल करने के लिए कोई अन्य तरीके हैं?

इसके अलावा, yumबनाम के बारे में क्या up2date। मैंने कभी भी अंतर पर स्पष्ट नहीं किया है।
जोश

apt-getडेबियन के लिए है, और वास्तव में CentOS पर नहीं दिखाना चाहिए ....
काइल स्ट्रैंड

जवाबों:


114

ये उपकरण आपके सिस्टम में सभी सॉफ़्टवेयर स्थापित करते हैं, लेकिन विभिन्न स्तरों पर काम कर रहे हैं।

  • ./configure && स्थापित करें

    चल रहा ./configure && make installहै और स्रोत कोड से सीधे पुस्तकालयों या निष्पादन योग्य बनाता है।

    make installकदम मूल रूप से सिर्फ अपने सिस्टम में प्रतियां अंतिम फ़ाइलें। कई स्रोत make uninstallउन्हें फिर से हटाने के लिए एक विशेष नियम के साथ आते हैं , लेकिन यह गारंटी नहीं है और निश्चित रूप से केवल तब तक काम करता है जब तक आपके पास कॉन्फ़िगर किए गए स्रोत हैं। इसके अलावा, यह आवश्यक निर्भरता का ध्यान नहीं रखता है।

    अक्सर एक निश्चित पैकेज के लिए केवल स्रोत कोड उपलब्ध होता है, इसलिए यह जाने का एकमात्र तरीका है। इसके अलावा, ./configureआमतौर पर बहुत सारे विकल्प स्वीकार करता है जिससे आप अपने पैकेज को तैयार कर सकते हैं।

    यह पता लगाने में सक्षम नहीं है कि कौन सी सॉफ़्टवेयर किस फ़ाइल को स्थापित करती है, और सिस्टम से उन्हें हटाने के लिए एक विश्वसनीय तरीके की कमी इस दृष्टिकोण की प्रमुख कमियां हैं।

  • RPM (Redhat पैकेज मैनेजर)

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

    चूंकि rpms का उपयोग वहां कई वितरणों के लिए किया जाता है, आप अक्सर यह सुनिश्चित करना चाहेंगे कि यह rpm आपके वितरण के लिए लिखा गया था ताकि पथ, निर्भरता और अन्य हाउसकीपिंग चीजें स्थापित हों, जो अच्छी तरह से एकीकृत हों।

    डेबियन सिस्टम पर, समकक्ष पैकेज प्रारूप है .debऔर इंस्टॉलेशन और डेटाबेस dpkgटूल द्वारा नियंत्रित किया जाता है ।

  • यम

    yumएक अतिरिक्त आवरण है rpm। यह आम तौर पर ऑनलाइन रिपॉजिटरी में आपके वितरण के लिए उपलब्ध rpm फाइलों का अपना डेटाबेस रखता है। अधिकांश वितरण के स्थिर संस्करणों के लिए उस डेटाबेस के अंदर सभी संकुल एक दूसरे के साथ अच्छा खेलेंगे। इस डेटाबेस को खोजा जा सकता है (जैसे कि yum search some_name)।

    यह स्वचालित रूप से आपके लिए निर्भरता को भी हल करेगा। संकुल (और कुछ अतिरिक्त सहायता के साथ उनकी निर्भरताएँ) आसानी से अनइंस्टॉल किया जा सकता है।

    डेबियन सिस्टम पर, Apt ( apt-getऔर aptitude) द्वारा समकक्ष रिपॉजिटरी और निर्भरता-रिज़ॉल्यूशन टूल दिए गए हैं ।

इसलिए इसे सम्‍मिलित करने के लिए: यदि आप केवल कुछ सॉफ़्टवेयर आज़माना चाहते हैं yum। यदि यह वहां उपलब्ध नहीं है, तो आप मौजूदा rpmपैकेज खोजने का प्रयास कर सकते हैं । यदि कोई नहीं है या आपके पास कुछ विशेष आवश्यकताएं हैं, तो स्रोत से निर्माण करें।


बहुत ज्यादा मैं क्या कहने वाला था। डेबियन समकक्षों के एक उल्लेख में जोड़ा गया और प्रारूपण को छुआ।
quackote मारिक्स

2
@quack: धन्यवाद। लेकिन क्या हम सभी अभी तक नहीं कर सकते हैं apt-getया यह अभी भी किसी भी चीज़ के लिए अनुशंसित है?
बेंजामिन बैनियर

2
आप सही हैं, उपयुक्तता शायद सिफारिश करने के लिए बेहतर है; मैं इसमें शामिल हो गया क्योंकि इसे व्यापक रूप से संदर्भित किया गया है, और एक पाठक जिसे योग्यता के बारे में नहीं पता है, वह उपयुक्त-प्राप्त के बारे में सुन सकता है ।
क्वैकोट को

4
क्या गलत है उपयुक्त?
पुनरावर्ती

5
@recursive: कुछ समय में apt-getस्वचालित निर्भरता को रिकॉर्ड नहीं किया गया और स्थापना रद्द करने के बाद उन्हें पीछे छोड़ दिया, जबकि aptitudeतब उचित निर्भरता पर नज़र रखी। इसके अलावा, इसमें कुछ अतिरिक्त सुविधाएँ भी उपलब्ध हैं जो उपलब्ध नहीं हैं apt-get। मुझे यकीन नहीं है, लेकिन मुझे लगता है कि कुछ बिंदुओं पर apt-getऔर aptitudeजहां उसी का उपयोग करने के लिए अद्यतन किया गया है, उन्नत बैकएंड उस कार्यक्षमता को प्रदान करता है।
बेंजामिन बैनियर

5

यम आरपीएम ही होते हैं, सिवाय इसके कि यम नेट से पैकेजों को स्वचालित रूप से प्राप्त करता है और उन्हें rpm -iएक चरण में स्थापित करता है (उपयोग करता है )। जब भी अद्यतन करने में आसानी हो इसका उपयोग किया जाना चाहिए। rpmकेवल तब ही उपयोग करें जब कोई पैकेज न मिले yum, और makeविधि का उपयोग तब करें जब कोई .rpm पैकेज उपलब्ध न हो या आपको कुछ संकलन-समय विकल्प बदलने की आवश्यकता हो।

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