पीपीए और भंडार के बीच क्या अंतर है?


46

मैंने हाल ही में एक उत्तर पोस्ट किया है जहां मैंने लिखा है कि पीपीए जोड़ें । लेकिन मुझे अब एहसास हुआ, कि मुझे नहीं पता कि पीपीए और रिपॉजिटरी के बीच क्या अंतर है। तो क्या कोई इसे मुझे समझा सकता है?


PPA के लिए देखें: askubuntu.com/questions/4983/…
Takkat

जवाबों:


14

डेटा संग्रह स्थान

उबंटू जैसी प्रणालियों पर, अधिकांश सॉफ़्टवेयर को अच्छे .deb (या .rpm, जैसे Red Hat में) फ़ाइल में पैक किया जाता है, जिसमें वे प्रोग्राम और लाइब्रेरी होते हैं जिनकी आपको आवश्यकता होती है। ये फाइलें सीडी में डाउनलोड या आ सकती हैं (उबंटू की सीडी इनसे भरी हुई है)। रिपॉजिटरी सर्वर हैं जिसमें पैकेज के सेट होते हैं

पीपीए

व्यक्तिगत पैकेज अभिलेखागार (पीपीए) आपको लॉन्च किए गए Ubuntu स्रोत पैकेज को अपलोड करने और लॉन्चपैड द्वारा उपयुक्त भंडार के रूप में प्रकाशित करने की अनुमति देता है ।

यह भी देखें कि पीपीए क्या हैं और मैं उनका उपयोग कैसे करूं?

इसका सारांश प्रस्तुत करना:

  • एक रिपॉजिटरी में पैकेज होते हैं।
  • PPA पैकेज (/ सॉफ्टवेयर का संग्रह) हैं।
  • लॉन्चपैड में एक रिपॉजिटरी है जो पीपीए (/ सॉफ्टवेयर का संग्रह) रखती है।

4
क्या एक पीपीए सिर्फ एक रिपॉजिटरी या सॉफ्टवेयर नहीं है जिसे किसी व्यक्ति या समूह द्वारा चुना और बनाए रखा जाता है? (जो कैनोनिकल या आधिकारिक उबंटू डेव्लोपर्स से सीधे संबंधित नहीं हैं)। एक पीपीए एक रिपॉजिटरी की तरह है और एक पैकेज नहीं है।
फहाद यूसुफ

11
एक पीपीए एक पैकेज नहीं है, यह एक भंडार है। प्रत्येक पीपीए में कई पैकेज हो सकते हैं। लॉन्चपैड पीपीए नामक रिपॉजिटरी का संग्रह है (या होस्ट करता है)।
गिल्स एसओ- बुराई को रोकना '

ऐसी स्पष्ट व्याख्या। तो, अधिक स्पष्ट स्पष्टीकरण होगा रिपॉजिटरी है C: // ProgramFiles और PPA उस में स्थापित प्रोग्राम फ़ोल्डर हैं
अभिमन्यु आर्यन 19

@AhhimanyuAryan नहीं, C: \ ProgramFiles एक रेपो की तरह कुछ भी नहीं है, विज्ञापन इसके भीतर dirs PPAs की तरह कुछ भी नहीं हैं। जब तक आप एक रूपक नहीं बना रहे हैं, उस स्थिति में मैंने बिंदु को याद किया होगा।
wjandrea

यह उत्तर गलत है। पीपीए पैकेज नहीं हैं, वे रिपॉजिटरी हैं। क्या मैं इसे ठीक करूंगा?
रेइनियर पोस्ट

66

मुझे इस प्रश्न के स्वीकृत उत्तर से असहमत होना है । मैंने उस उत्तर के लिए टिप्पणी के रूप में निम्नलिखित लिखा होगा, लेकिन यह बहुत लंबा है।

  • एक रिपॉजिटरी संकुल का एक संग्रह है, जिसे एक मनमाने सर्वर पर होस्ट किया जाता है।
  • एक पीपीए भी संकुल का एक संग्रह है, जिसे लॉन्चपैड सर्वर पर होस्ट किया जाता है।

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

  • इस प्रकार, एक पीपीए एक विशेष प्रकार का भंडार है। जैसे एक वर्ग एक विशेष प्रकार का आयत है।

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

आइए एक उदाहरण पर एक नज़र डालें।

  1. पहले, मान लें कि आप Ubuntu Saucy Salamander पर MATE डेस्कटॉप वातावरण (एक सूक्ति 2 कांटा) स्थापित करना चाहते हैं । यह आधिकारिक रेपो में शामिल नहीं है, और न ही देवता पीपीए को बनाए रखते हैं। इसके बजाय, उनके पास अपना रेपो है। आप इसे इस तरह जोड़ सकते हैं:

    $ sudo add-apt-repository http://packages.mate-desktop.org/repo/ubuntu
    

    इसके परिणामस्वरूप निम्नलिखित प्रविष्टि को जोड़ा जाएगा /etc/apt/sources.list:

    deb http://packages.mate-desktop.org/repo/ubuntu saucy main
    
  2. दूसरा, मान लें कि आप दालचीनी (एक और ग्नोम 2 कांटा) पर एक नज़र रखना चाहते हैं । यह 13.04 के बाद से आधिकारिक रिपॉज में निहित है, लेकिन अभी भी देवों द्वारा बनाए गए एक पीपीए है, उदाहरण के लिए उपयोगी यदि आप नए रिलीज को जल्दी प्राप्त करने में रुचि रखते हैं। आप इसे इस तरह जोड़ सकते हैं:

    $ sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable
    

    इसके परिणामस्वरूप निम्नलिखित प्रविष्टि को जोड़ा जाएगा /etc/apt/sources.list.d/gwendal-lebihan-dev-cinnamon-stable-saucy.list:

    deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main
    

    जैसा कि आप देख सकते हैं, उत्तरार्द्ध प्रविष्टि काफी समान है जैसा कि बिंदु (1) में बनाया गया है। वास्तव में, दोनों उबंटू के दृष्टिकोण से केवल रिपॉजिटरी के URL हैं।

  3. वास्तव में, आप बिंदु (1) के समान सिंटैक्स के साथ दालचीनी पीपीए को भी जोड़ सकते हैं , हालांकि यह पीपीए जोड़ने के लिए विशिष्ट तरीका नहीं है:

    $ sudo add-apt-repository http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu
    

    इसके परिणामस्वरूप निम्नलिखित प्रविष्टि को जोड़ा जाएगा /etc/apt/sources.list:

    deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main
    

    यह बिंदु (2) के समान सटीक प्रविष्टि है । केवल इन प्रविष्टियों को लिखी गई फ़ाइलों को थोड़ा अलग तरीके से नियंत्रित किया जाता है, लेकिन अंत में, यह कोई वास्तविक अंतर नहीं करता है। दोनों ही मामलों में, आप अपने सिस्टम पर उपलब्ध दालचीनी पीपीए के पैकेजों के साथ समाप्त करेंगे, हमेशा कैनोनिकल के बाद sudo apt-get update, निश्चित रूप से।


add-apt-repositoryज़ेनियल के मैनुअल के अनुसार , यदि ppa:<user>/<ppa-name>फॉर्म का उपयोग किया जाता है, "नए जोड़े गए पीपीए की जीपीजी सार्वजनिक कुंजी को भी डाउनलोड किया जाएगा और एप्ट की कीरिंग में जोड़ा जाएगा।" मुझे लगता है कि ऐसा नहीं है, यदि URL फॉर्म का उपयोग किया जाता है। दरअसल, मैनुअल आपको यह नहीं बताता है कि आप 1 और 3 में किस तरह के URL फॉर्म का उपयोग कर सकते हैं, लेकिन "एक लाइन जिसे सीधे source.list में जोड़ा जा सकता है"। फिर भी, आप जिस रूप का उपयोग करते हैं वह काम करने लगता है।
जर्नो

1
@jarno हाँ, add-apt-repositoryउस संबंध में वास्तव में अधूरा है। कृपया add-apt-repository --helpयह देखने के लिए उपयोग करें कि 1 और 3 में मैंने जिस URL फॉर्म का उपयोग किया है वह वास्तव में सही है और एक संभावित विकल्प है। इसके अलावा, आपकी धारणा बिल्कुल सही है: URL फॉर्म का उपयोग करते समय PPA की GPG सार्वजनिक कुंजी नहीं जोड़ी जाएगी। यह एक उपयोगी जोड़ है, धन्यवाद! :) कृपया ध्यान दें कि मैं PPA को जोड़ने के लिए 3 में वर्णित फ़ॉर्म का उपयोग करने की अनुशंसा नहीं करता हूं । यह सिर्फ एक उदाहरण के रूप में दर्शाया गया था कि वास्तव में, एक पीपीए केवल एक विशिष्ट प्रकार का भंडार है।
माल्टे स्कोरुप्पा

10

जहाँ तक APT का संबंध है, भंडार और पीपीए के बीच कोई तकनीकी अंतर नहीं है। दोनों सॉफ्टवेयर रिपॉजिटरी हैं जो पैकेज प्रदान करते हैं, एपीटी के दृष्टिकोण से पैकेज स्थापित करने का समान तंत्र है।

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

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

लॉन्चपैड के उपयोग के बिना आपके पास आपका व्यक्तिगत भंडार हो सकता है और इसे पीपीए कहा जा सकता है, क्योंकि व्यक्तिगत है।

उपयोग में एकमात्र अंतर पूरी तरह से सिंटैक्स में है add-apt-repositoryजो ppa:उपयोगकर्ता को पूर्ण यूआरएल लिखने के लिए मजबूर करने के बजाय जादू कीवर्ड का उपयोग करता है जो गैर लॉन्चपैड रिपॉजिटरी के लिए आवश्यक है।


9

एक रिपॉजिटरी विभिन्न सॉफ्टवेयरों का एक संग्रह है, जो सॉफ्टवेयर जैसे एप्ट-गेट, एप्टीट्यूड इत्यादि को डाउनलोड करने और उक्त सॉफ्टवेयर को स्थापित करने में सक्षम बनाता है। उनकी सामग्री सभी द्वारा निरीक्षण के लिए दिखाई देती है। ज्ञानवर्धन के लिए रिपॉजिटरी पर उबंटू हेल्प पेज पढ़ें ।

PPA सॉफ्टवेयर के लिए विशेष रिपॉजिटरी हैं जो अभी तक डिस्ट्रो लीडरशिप द्वारा पूरे समुदाय के लिए नहीं अपनाए जाते हैं। पीपीए सॉफ्टवेयर में दोष हो सकते हैं और यहां तक ​​कि मैलवेयर के लिए भी इस्तेमाल किया जा सकता है क्योंकि वे सामान्य रिपोजिटरी के रूप में बड़े पैमाने पर समीक्षा नहीं करते हैं। अधिक के लिए, देखें PPAs की लॉन्चपैड के विवरण और PPAs की इस चर्चा


8

रिपॉजिटरी एक ऐसी जगह है जहां पैकेज को डाउनलोड या अपडेट के लिए संग्रहीत या रखरखाव किया जाता है। ये सर्वर होते हैं जिनमें पैकेज के सेट होते हैं।

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

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