मेरे स्थानीय भंडार को सर्वोच्च प्राथमिकता दें


39

सारांश

मैं आधिकारिक रिपॉजिटरी से फिर से उसी पैकेज संस्करण को डाउनलोड करने के बजाय स्थानीय रिपॉजिटरी पैकेज को प्राथमिकता कैसे दे सकता हूं? स्थानीय भंडार पर हस्ताक्षर किए जाते हैं और उन पर भरोसा किया जाता है। हम पहले से ही प्राथमिकताओं को प्राथमिकता देने की कोशिश कर चुके हैं।


मूल प्रश्न था: "source.list फ़ाइल का उपयोग किए बिना स्थानीय रिपॉजिटरी को सर्वोच्च प्राथमिकता कैसे दें"

मेरे द्वारा डाउनलोड किए गए पैकेजों के साथ मैंने एक स्थानीय भंडार स्थापित किया है। जब मैं अपने Ubuntu को पुनर्स्थापित करने की आवश्यकता होती है, तो मैं इंटरनेट पर समान पैकेज डाउनलोड करने से बचने के लिए इसका उपयोग करता हूं। यह एक बुनियादी भंडार है, जिसके साथ बनाया गया है apt-ftparchive packages . > Packages। मैंने इसे "अप्रतिष्ठित रिपॉजिटरी" चेतावनी से बचने के लिए एक विश्वसनीय भंडार बनाया। ( जब आपके पास एक अविश्वसनीय भंडार है, aptया synapticइंटरनेट पर समान पैकेज डाउनलोड करने का प्रयास करें, 'क्योंकि यह विश्वसनीय है )।

मैं कम से कम 1 साल से इस स्थानीय भंडार का उपयोग कर रहा हूं। लेकिन मुझे इसका उपयोग करने के लिए हमेशा अपनी स्थानीय रिपॉजिटरी लाइन को sources.listफाइल के शीर्ष पर रखना पड़ता है । लेकिन यह कष्टप्रद है, क्योंकि मुझे एक टर्मिनल खोलना चाहिए और हर बार जब मैं उबंटू को पुनर्स्थापित करता हूं, तो उस पर कुछ टाइपिंग करता हूं, हालांकि एक बेहतर उपकरण है software-properties-gtk। मैं इस टूल का उपयोग नहीं कर सकता क्योंकि यह `source.list के अंत में सोर्स लाइन रखता है।

और वास्तविक समस्या यह है कि, apt या synapticहमेशा उस स्रोत से एक पैकेज डाउनलोड करें जो पहले उल्लेख किया गया है, यह निरीक्षण किए बिना कि क्या पैकेज पहले से ही स्थानीय भंडार में उपलब्ध हैं। इसलिए, मेरे पास sources.listटर्मिनल करने के शीर्ष पर स्थानीय स्रोत को रखने के अलावा कोई विकल्प नहीं है (मुझे वास्तव में टर्मिनल से नफरत नहीं है, लेकिन मुझे समाधान की आवश्यकता है)।

मैंने यह तरीका आजमाया है । लेकिन इससे मुझे कोई फायदा नहीं होता है।

मेरी प्राथमिकता फ़ाइल में यह है /etc/apt/preferences.d/local-pin-900

    Package: *
    Pin: release o=Local,n=ubuntu-local
    Pin-Priority: 900

मेरी रिलीज़ फ़ाइल यह है

    Origin: Local
    Label: Local-Ubuntu
    Description: Local Ubuntu Repository
    Codename: ubuntu-local
    MD5Sum:
     ed43222856d18f389c637ac3d7dd6f85          1043412 Packages
     d41d8cd98f00b204e9800998ecf8427e                0 Sources

जब मैं उपयुक्त-प्राथमिकता को सक्षम करता हूं, तो apt-cache policyसही ढंग से वरीयता को दर्शाता है, जैसे कि यह दर्शाता है कि स्थानीय भंडार में सर्वोच्च प्राथमिकता है।

लेकिन जब मैं यह कर sudo apt-get install <package-name>, aptकी कोशिश करता इंटरनेट से डाउनलोड करने के लिए। लेकिन जब मैं अपने स्थानीय-रेपो को शीर्ष पर रखता हूं, तो यह स्थानीय भंडार से स्थापित होता है।

तो, मेरा प्रश्न है -> क्या यह उपयुक्त है कि जब स्थानीय भंडार में पैकेज उपलब्ध हो तो स्थानीय रिपॉजिटरी का उपयोग करने के लिए उपयुक्त है, मेरी रिपॉजिटरी सूची (जैसे source.list फ़ाइल) के शीर्ष पर "स्थानीय स्रोत" को स्पष्ट रूप से रखने के बिना? '

संपादित करें: का आउटपुट apt-cache policy $package_nameनिम्नानुसार है

  
Nautilus-पोंछ:
  स्थापित: (कोई नहीं)
  उम्मीदवार: 0.1.1-2
  संस्करण तालिका:
     ०.१.१-२ ०
        500 http://archive.ubuntu.com/ubuntu/ सटीक / ब्रह्मांड i386 पैकेज
        900 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / सटीक / संकुल

यह दिखा रहा है कि मेरी स्थानीय रिपॉजिटरी में उच्च प्राथमिकता है, हालांकि यह वह नहीं है जो पहली बार sources.listफाइल में आती है ।

यहाँ का उत्पादन है apt-get install nautilus-wipe

पैकेज सूची पढ़ना ... पूरा हो गया
निर्भरता का पेड़       
राज्य की जानकारी पढ़ना ... किया
निम्नलिखित नए पैकेज स्थापित किए जाएंगे:
  Nautilus-पोंछ
0 अपग्रेड किया गया, 1 नव स्थापित, 0 हटाने के लिए और 131 अपग्रेड नहीं किया गया।
अभिलेखागार के 30.7 kB प्राप्त करने की आवश्यकता है।
इस ऑपरेशन के बाद, 150 kB अतिरिक्त डिस्क स्थान का उपयोग किया जाएगा।
'http://archive.ubuntu.com/ubuntu/pool/universe/n/nautilus-wipe/nautilus-wipe_0.1.1-2_i386.deb' nautilus-wipe_0.1-2_i386.deb 30730 MD5Sum: 7d497b8dfcefefcbcb0b51b

यह अभी भी इंटरनेट से फ़ाइल प्राप्त करने की कोशिश कर रहा है, हालांकि मुझे लगता है कि इसे स्थानीय के साथ खुश होना चाहिए।


मध्यस्थता के रूप में सुझाए गए "" या लोकलहोस्ट का उपयोग करने का परिणाम

लोकलहोस्ट का उपयोग करने का कोई प्रभाव नहीं पड़ता है। लेकिन "" मेरे तरीके से अलग नहीं है

    Package: *
    Pin: origin ""
    Pin-Priority: 1001

मैंने प्रश्न पोस्ट करने से पहले उनका उपयोग किया है। लेकिन फिर से मैंने यह (शल्य चिकित्सा के लिए) कोशिश की। वही परिणाम। apt-cache policyयह दिखाना कि मेरी स्थानीय रिपॉजिटरी वास्तव में सर्वोच्च प्राथमिकता है। लेकिन जब मैंने इसे स्थापित करने की कोशिश की तो यह कह रहा है "संग्रह की XXX / XXX KB प्राप्त करने की आवश्यकता है"।


क्या आपके स्थानीय भंडार में पैकेज नया / आधिकारिक पैकेज के बराबर था?
Tumbleweed

हां, निश्चित रूप से, मैंने इसे apt-getकमांड से सत्यापित किया । यह कहता है "0 केबी को डाउनलोड करने की आवश्यकता है"।
अनवर

आप के साथ यह सत्यापित करना चाहते हैंapt-cache policy
Tumbleweed

पिछली टिप्पणी एक गलती थी। मुझे लगा कि मैं इसे अपने दूसरे प्रश्न में दे रहा हूं (स्थानीय रिपॉजिटरी से सॉफ्टवेयर सेंटर के साथ सॉफ्टवेयर स्थापित करने के बारे में)। हां, मैंने पहले ही इसे सत्यापित कर लिया है apt-cache policyऔर देखा है कि स्थानीय भंडार में उच्च प्राथमिकता है। लेकिन फिर भी apt-getइसे इंटरनेट से इंस्टॉल करने की कोशिश की जा रही है। मुझे लगता है कि यह sources.listफ़ाइल का उपयोग किए बिना संभव नहीं है ।
अनवर

मैं पूछ रहा था, तो apt-cache policyपता चला कि संस्करण ही था
Tumbleweed

जवाबों:


52

संक्षिप्त उत्तर:

APT प्राथमिकताएं फ़ाइल / etc / apt / वरीयताओं को नियंत्रित करने के लिए उपयोग किया जा सकता है कि कौन से संकुल अधिष्ठापन के लिए चुने जाएंगे

यहाँ फ़ाइल है /etc/apt/preferences, जो apt-getयह तय करने के लिए उपयोग करती है कि किस संस्करण का चयन करना है यदि एक ही पैग के कई संस्करण हैं। इसके साथ, जो भी पैकेज स्थानीय रिपॉजिटरी से आता है, वह अन्य पैकेजों पर वरीयता लेगा।

पैकेज: *  
पिन: मूल ""  
पिन-प्राथमिकता: 1001  

यह संस्करण को नियंत्रित नहीं करेगा, लेकिन यदि दोनों पैकेजों का एक ही संस्करण है तो स्रोत वरीयता। यदि आपको अपने स्थानीय रेपो में समान पैकेज संस्करण के लिए सर्वोच्च प्राथमिकता देने की आवश्यकता है , तो उन्हें /etc/apt/sources.listफ़ाइल> के शीर्ष पर सूचीबद्ध करें

मूल प्रश्न का उत्तर:

स्रोत.सूची फ़ाइल का उपयोग किए बिना स्थानीय रिपॉजिटरी को सर्वोच्च प्राथमिकता कैसे दें?

sources.listफ़ाइल का उपयोग किए बिना स्थानीय रिपॉजिटरी को सर्वोच्च प्राथमिकता देने का कोई तरीका नहीं है । यदि आप अपने स्थानीय रेपो को सर्वोच्च प्राथमिकता देना चाहते हैं, तो आपको उन्हें "source.list" के ऊपर रखना होगा।

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

मैं आधिकारिक रिपॉजिटरी से फिर से उसी पैकेज संस्करण को डाउनलोड करने के बजाय स्थानीय रिपॉजिटरी पैकेज को प्राथमिकता कैसे दे सकता हूं? स्थानीय भंडार पर हस्ताक्षर किए जाते हैं और उन पर भरोसा किया जाता है। हम पहले से ही प्राथमिकताओं को प्राथमिकता देने की कोशिश कर चुके हैं।

/etc/apt/sources.listफ़ाइल का उपयोग करते हुए , आपको अपनी स्थानीय रिपॉजिटरी लाइन को इस फ़ाइल के शीर्ष पर रखना होगा। नीचे की तरह।

deb cdrom: [कुबंटु 12.04 LTS _Precise पैंगोलिन_ - रिलीज़ i386 (20120424)] / सटीक मुख्य प्रतिबंधित
डिबेट फ़ाइल: / मीडिया / मुख्य / सटीक-डीबीएस-नया /
डिबेट फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / सटीक /

deb http://archive.ubuntu.com/ubuntu सटीक मुख्य ब्रह्मांड प्रतिबंधित मल्टीवर्स
deb-src http://archive.ubuntu.com/ubuntu सटीक ब्रह्मांड मुख्य मल्टीवर्स सॉफ़्टवेयर-गुणों द्वारा प्रतिबंधित है

# डेब cdrom: [Xubuntu 12.04 LTS _Precise पैंगोलिन_ - रिलीज़ i386 (20120423.1)] / सटीक मुख्य मल्टीवर्स प्रतिबंधित ब्रह्मांड
# डिबेट सीडीआरएम: [उबुन्टु 12.04 एलटीएस _प्राइसिस पैंगोलिन_ - रिलीज़ i386 (20120423)] / सटीक मुख्य प्रतिबंधित

# deb http://archive.canonical.com/ubuntu सटीक साथी
# deb-src http://archive.canonical.com/ubuntu सटीक साथी
# डिबेट http://extras.ubuntu.com/ubuntu सटीक मुख्य
# deb-src http://extras.ubuntu.com/ubuntu सटीक मुख्य

और हां, "apt_preference" का एक ही संस्करण के साथ संकुल के उदाहरणों का चयन करने से कोई लेना-देना नहीं है । यहाँ मुद्दा यह है, आप अपने स्थानीय भंडार को सर्वोच्च प्राथमिकता प्रदान करके अपने स्थानीय भंडार से /etc/apt/preferenceएक .debफ़ाइल का चयन / उपयोग करने के लिए मजबूर करने के लिए फ़ाइल का उपयोग नहीं कर सकते हैं । उस फ़ाइल (वरीयता) का उपयोग किसी विशिष्ट संस्करण का चयन करने के लिए किया जाता है, न कि उसी संस्करण के एक विशिष्ट उदाहरण (.deb फ़ाइल) के लिए। बाद के मामले के लिए, आपको /etc/apt/sources.listउपर्युक्त विधि के साथ फ़ाइल का उपयोग करने की आवश्यकता है ।


स्पष्टीकरण:

लगता है कि हम सभी इस apt_preferenceउद्देश्य को गलत समझ रहे हैं , apt_preference मैन्युअल इसका वर्णन पहले 3 पैराग्राफ में करते हैं !!

APT प्राथमिकताएं फ़ाइल / etc / apt / वरीयताओं को नियंत्रित करने के लिए उपयोग किया जा सकता है कि कौन से संकुल अधिष्ठापन के लिए चुने जाएंगे

एक पैकेज के कई संस्करण इंस्टॉलेशन के लिए उपलब्ध हो सकते हैं जब source.list (5) फ़ाइल में एक से अधिक वितरण (उदाहरण के लिए, स्थिर और परीक्षण) के संदर्भ होते हैं। APT उपलब्ध प्रत्येक संस्करण के लिए प्राथमिकता देता है। निर्भरता की कमी के अधीन, apt-get (8) स्थापना के लिए सर्वोच्च प्राथमिकता वाले संस्करण का चयन करता है। APT प्राथमिकताएं फ़ाइल उन प्राथमिकताओं को ओवरराइड करती हैं जो APT डिफ़ॉल्ट रूप से पैकेज संस्करणों को असाइन करती हैं, इस प्रकार उपयोगकर्ता को नियंत्रण देता है जिस पर स्थापना के लिए चुना जाता है।

और बहुत महत्वपूर्ण एक तीसरे पैराग्राफ में है

एक पैकेज के एक ही संस्करण के कई उदाहरण उपलब्ध हो सकते हैं जब source.list (5) फ़ाइल में एक से अधिक स्रोत के संदर्भ होते हैं। इस स्थिति में apt-get (8) स्रोत में सूचीबद्ध जल्द से जल्द डाउनलोड करता है। सूची (5) फ़ाइल। APT प्राथमिकताएं फ़ाइल उदाहरण की पसंद को प्रभावित नहीं करती हैं, केवल संस्करण की पसंद

उन इटालिक्स को मेरा बनाया गया था

आइए इसे एक उदाहरण से देखें:

मेरे पास सटीक संस्करण है compiz-fusion-plugins-extra, लेकिन मैंने उसे प्रदर्शन के लिए अक्षम कर दिया

यहाँ फ़ाइल है /etc/apt/preferences, जो apt-getयह तय करने के लिए उपयोग करती है कि किस संस्करण का चयन करना है यदि एक ही पैग के कई संस्करण हैं। (इस उदाहरण में, compiz-fusion-plugins-extraकई संस्करण हैं।

पैकेज: *  
पिन: मूल ""  
पिन-प्राथमिकता: 1001  

यह फ़ाइल apt-getसभी पैकेजों के लिए स्थानीय रिपॉजिटरी से इंस्टॉल करने के लिए कहती है, जिनके कई संस्करण विभिन्न रिपॉजिटरी में मौजूद हैं।

दूसरे शब्दों में, अगर मेरे स्थानीय रिपॉजिटरी में xappsसंस्करण के साथ पैकेज 1.0है, और यह वही पैकेज xappsउच्च संस्करण के साथ सटीक के रिपॉजिटरी में मौजूद है, तो 2.0, apt-getस्थानीय रिपॉजिटरी से संस्करण को पसंद करेंगे, अर्थात संस्करण 1.0

यहाँ मेरी /etc/apt/sources.listफाइल है

deb http://archive.ubuntu.com/ubuntu सटीक मुख्य ब्रह्मांड प्रतिबंधित मल्टीवर्स
deb-src http://archive.ubuntu.com/ubuntu सटीक ब्रह्मांड मुख्य मल्टीवर्स सॉफ़्टवेयर-गुणों द्वारा प्रतिबंधित है
deb http://security.ubuntu.com/ubuntu/ सटीक-सुरक्षा ब्रह्मांड मुख्य मल्टीवर्स प्रतिबंधित है
deb http://archive.ubuntu.com/ubuntu सटीक-अपडेट ब्रह्मांड मुख्य मल्टीवर्स प्रतिबंधित
deb http://archive.ubuntu.com/ubuntu सटीक-बैकपोर्ट ब्रह्मांड मुख्य मल्टीवर्स प्रतिबंधित

# deb http://archive.canonical.com/ubuntu सटीक साथी
# deb-src http://archive.canonical.com/ubuntu सटीक साथी
# डिबेट http://extras.ubuntu.com/ubuntu सटीक मुख्य
# deb-src http://extras.ubuntu.com/ubuntu सटीक मुख्य


डिब फाइल: / मीडिया / मेन / लिनक्स-सॉफ्टवेयर / उबंटू / वनैरिक / #this वनैरिक रिपॉजिटरी है।
डिबेट फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / नेट्टी /
डिबेट फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नट्टी / कुबंटु /
डिबेट फ़ाइल: / मीडिया / मेन / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / नेट्टी_न्यू /

हालाँकि, मैंने फ़ाइल में पहले की सटीक रिपॉजिटरी सूचीबद्ध की है, यह apt-getउस रिपॉजिटरी से पैकेज का चयन करने का कारण नहीं है। जैसा कि मैनुअल में वर्णित है

APT प्राथमिकताएं फ़ाइल उदाहरण की पसंद को प्रभावित नहीं करती हैं, केवल संस्करण की पसंद।

इसलिए, कमांड apt-cache policy compiz-fusion-plugins-extraका आउटपुट नीचे की तरह अपेक्षित था

अनवर @ edubuntu-lenovo: / etc / apt $ apt-cache policy compiz-fusion-plugins-extra 
Compiz-संलयन-प्लगइन्स-अतिरिक्त:
  स्थापित: (कोई नहीं)
  उम्मीदवार: 0.9.5.94-0ubuntu1 / ** प्राथमिकता के लिए निम्न संस्करणों का चयन **
  संस्करण तालिका:
     0.9.7.0 ~ bzr9-0ubuntu6 0
        500 http://archive.ubuntu.com/ubuntu/ सटीक / ब्रह्मांड i386 पैकेज
     0.9.5.94-0ubuntu1 0
       1001 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / Ubuntu / Oneiric / पैकेज
     0.9.4-0ubuntu3 0
       1001 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / नेट्टी / पैकेज

यहां, उम्मीदवार संस्करण है 0.9.5.94-0ubuntu1, (जो स्थानीय भंडार में है), न कि 0.9.7.0~bzr9-0ubuntu6 0, जो कि पूर्ववर्ती भंडार में है। हालाँकि, पहले वाले को sources.listफ़ाइल में सूचीबद्ध किया गया था ।

स्थानीय रिपॉजिटरी को सर्वोच्च प्राथमिकता देने के बाद स्थापित apt-getकरने की कोशिश का एक उदाहरण रन compiz-fusion-plugins-extra

अनवर @ edubuntu-lenovo: ~ $ sudo apt-get install compiz-fusion-plugins-extra 
पैकेज सूची पढ़ना ... पूरा हो गया
निर्भरता का पेड़       
राज्य की जानकारी पढ़ना ... किया
निम्नलिखित पैकेज स्वचालित रूप से इंस्टॉल किए गए थे और अब आवश्यक नहीं हैं:
  x11-apps x11-xfs-utils xinit x11-session-utils libfs6
इन्हें हटाने के लिए Use apt-get autoremove ’का उपयोग करें।
निम्नलिखित अतिरिक्त पैकेज स्थापित किए जाएंगे:
  compiz-core compiz-plugins-default compiz-plugins-extra
  compiz-plugins-main-default libdecoration0 xserver-xorg-core
  xserver-xorg-वीडियो-इंटेल
सुझाए गए पैकेज:
  compizconfig-settings-manager xfonts-100dpi xfonts-75dpi
निम्नलिखित पैकेज याद किए जाएंगे:
  compiz compiz-gnome compizconfig-backend-gconf edubuntu-desktop
  libcompizconfig0 ubuntu-desktop unity xorg xserver-xorg
  xserver-xorg-input-सभी xserver-xorg-input-evdev xserver-xorg-input माउस
  xserver-xorg-input-synaptics xserver-xorg-input-vmmouse
  xserver-xorg-input-wacom xserver-xorg-video-all xserver-xorg-video -i
  xserver-xorg-video-cirrus xserver-xorg-video-fbdev xserver-xorg-video-geode
  xserver-xorg-video-mach64 xserver-xorg-video-mga xserver-xorg-video-neomagic
  xserver-xorg-video-nouveau xserver-xorg-video-openchrome
  xserver-xorg-video-qxl xserver-xorg-video-r128 xserver-xorg-video-radeon
  xserver-xorg-video-s3 xserver-xorg-video-savage
  xserver-xorg-video-Siliconmotion Xserver-xorg-video-sis
  xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident
  xserver-xorg-video-vesa xserver-xorg-video-vmware
निम्नलिखित नए पैकेज स्थापित किए जाएंगे:
  compiz- फ्यूजन-प्लगइन्स-अतिरिक्त compiz- प्लगइन्स-अतिरिक्त
निम्नलिखित पैकेज डाउनलोड किए जाएंगे:
  compiz-core compiz-plugins-default-compiz-plugins-मुख्य-डिफ़ॉल्ट
  libdecoration0 xserver-xorg-core xserver-xorg-video-Intel
0 अपग्रेड किया गया, 2 नए इंस्टॉल किए गए, 6 डाउनग्रेड किए गए, 37 हटाए गए और 698 अपग्रेड नहीं हुए।
अभिलेखागार के 0 बी / 5,772 केबी प्राप्त करने की आवश्यकता है।
इस ऑपरेशन के बाद, 8,294 kB डिस्क स्थान मुक्त हो जाएगा।
क्या आप जारी रखना चाहते हैं [Y / n]? 

अजीब !!!, यह निर्भरता को हल करने के लिए सटीक पहले से ही स्थापित कॉम्पिज़ पैकेज को डाउनग्रेड करने की कोशिश कर रहा है (नवचयनित के साथ Oneiric के साथ मिलान) compiz-fusion-plugins-extra!!!

जो अधिक खतरनाक है, वह नए संकलनों के साथ संघर्ष से बचने के लिए ग्राफिक्स ड्राइवर पैकेज (xserver-xorg -....) को हटाने की कोशिश कर रहा है।

(संभवतः, अगर मैंने उन्हें अपने स्थानीय भंडार में रखा था, तो वे सुरक्षित रूप से डाउनग्रेड करना चाहते हैं। लेकिन जैसा कि आमतौर पर उन पैकेजों को स्थापित किया जाता है, मैंने उन्हें डाउनलोड नहीं किया, इसलिए वे स्थानीय रेपो में नहीं हैं, इसलिए यह परिणाम है)

निष्कर्ष : इसलिए, /etc/apt/preferencesकेवल स्थानीय रिपॉजिटरी के साथ उपयोग करने की अनुशंसा की जाती है, यदि आपके पास स्थानीय सिस्टम में पूर्ण रिपॉजिटरी है।

क्या होगा यदि एक ही संस्करण के कई उदाहरण (.deb फ़ाइल) कई रिपॉजिटरी में मौजूद हों।

जो apt_preferenceमैनुअल द्वारा वर्णित है

एक पैकेज के एक ही संस्करण के कई उदाहरण उपलब्ध हो सकते हैं जब source.list (5) फ़ाइल में एक से अधिक स्रोत के संदर्भ होते हैं। इस स्थिति में apt-get (8) स्रोत में सूचीबद्ध जल्द से जल्द डाउनलोड करता है। सूची (5) फ़ाइल।

/etc/apt/preferencesफ़ाइल के लिए उपयोग मामलों का एक उदाहरण :

apt-getउबंटू के मानक एक के बजाय कस्टम रेपो से उपलब्ध संस्करण का चयन करने के लिए मजबूर करने का एक उदाहरण "लिनक्स मिंट" वितरण हो सकता है। वे इस कस्टम preferenceफ़ाइल का उपयोग करते हैं।

पैकेज: *
पिन: रिलीज ओ = linuxmint
पिन-प्राथमिकता: 700

पैकेज: *
पिन: मूल package.linuxmint.com
पिन-प्राथमिकता: 700

पैकेज: *
पिन: रिलीज ओ = उबंटू
पिन-प्राथमिकता: 500

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


apt-getस्थानीय रिपॉजिटरी को सर्वोच्च प्राथमिकता देने के बाद चल रहा एक उदाहरण

मैं सिर्फ kubuntu-desktop केडीई का परीक्षण करने के लिए उबंटू में पैकेज स्थापित करना चाहता था । (मैं भूल गया कि, मैंने /etc/apt/preferenceफ़ाइल का उपयोग करके वरीयता निर्धारित की है ) । मेरे पास कुबंटू -12.04-वैकल्पिक-इंस्टॉलर का एक आईएसओ था, इसलिए मैंने सोचा कि मैं इसका उपयोग कर सकता हूं।

(आइसो को रिपोजिटरी सोर्स के रूप में ठीक से सेट करने के बाद) , मैं भाग गया
sudo apt-get install kubuntu-desktop, फिर नीचे दिए गए आउटपुट को देखकर आश्चर्यचकित हो गया।

अनवर @ edubuntu-lenovo: ~ $ sudo apt-get install kubuntu-desktop
पैकेज सूची पढ़ना ... पूरा हो गया
निर्भरता का पेड़       
राज्य की जानकारी पढ़ना ... किया
कुछ पैकेज स्थापित नहीं किए जा सके। इसका मतलब यह हो सकता है कि आपके पास है
एक असंभव स्थिति का अनुरोध किया या यदि आप अस्थिर का उपयोग कर रहे हैं
वितरण जो कुछ आवश्यक पैकेज अभी तक नहीं बनाए गए हैं
या आवक से बाहर ले जाया गया।
निम्नलिखित जानकारी स्थिति को हल करने में मदद कर सकती है:

निम्नलिखित पैकेजों में कुछ निर्भरताएँ हैं:
 कुबंटु-डेस्कटॉप: निर्भर करता है: भाषा-चयनकर्ता-केडी लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: एमरॉक लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: apturl-kde लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: gdebi-kde लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: gpgsm लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: ibus-qt4 लेकिन यह स्थापित नहीं होने जा रहा है
                   सिफारिश करता है: जॉकी-केडी लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: kdegraphics-strigi-plugins लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: kdepim-wizards लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: kpackagekit लेकिन यह स्थापित नहीं होने वाला है
                   अनुशंसा करता है: libreoffice-kde लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: libreoffice- शैली-ऑक्सीजन लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसाएँ: नेटवर्क-प्रबंधक-पीपीटीपी-केडी लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: प्लाज्मा-विजेट-फेसबुक लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: प्लाज्मा-विजेट-किमपेल लेकिन यह स्थापित नहीं होने जा रहा है
                   अनुशंसा करता है: usb-creator-kde लेकिन यह स्थापित नहीं होने जा रहा है
E: समस्याओं को ठीक करने में असमर्थ, आपने टूटे हुए पैकेजों को पकड़ रखा है।

मैं परिणाम से हैरान था। अचानक मुझे याद आया कि, मैंने अपने स्थानीय भण्डार को सर्वोच्च प्राथमिकता देने के लिए ( इस उत्तर को लिखने के लिए ) एक प्राथमिकता /etc/apt/preferenceतय की है।

इसलिए, मैंने इसे चलाया: apt-cache policy kubuntu-desktopआउटपुट निम्नानुसार था:

अनवर @ edubuntu-lenovo: ~ $ apt-cache नीति kubuntu-desktop 
Kubuntu-डेस्कटॉप:
  स्थापित: (कोई नहीं)
  उम्मीदवार: 1.222.1kde47 ~ ppa2
  संस्करण तालिका:
     १.२५४ ०
        500 सीडीआरएम: // कुबंटु 12.04 एलटीएस _प्राइस पैंगोलिन_ - रिलीज़ i386 (20120424) / सटीक / मुख्य i386 पैकेज
        500 http://archive.ubuntu.com/ubuntu/ सटीक / मुख्य i386 पैकेज
     1.222.1kde47 ~ ppa2 0
       1001 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / नेट्टी / पैकेज
     १.२२२.१ ०
       1001 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / नेट्टी / पैकेज
     १.२२२ ०
       1001 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / कुबंटु / पैकेज

इस आउटपुट में, हम देखते हैं कि "cdrom" और "सटीक मुख्य रिपॉजिटरी" दोनों में संस्करण संख्या 1.254 है , जबकि स्थानीय रिपॉजिटरी में संस्करण 1.222.1kde47 ~ ppa2 है , जो कि निम्न संस्करण है। हालाँकि, उन्हें स्थानीय लोगों से पहले source.list फ़ाइल में रखा जाता है, स्थानीय पैकेजों को पूर्वता मिली।

स्पष्ट रूप से यह देखने के लिए कि apt-getवास्तव में स्थानीय एक से स्थापित करने की कोशिश कर रहा है, मैं भाग गया synapticऔर यह मिल गया, जो यह दिखा रहा है कि, Apt प्रणाली 1.222.1kde47 ~ ppa2 को स्थापित करने के लिए उम्मीदवार संस्करण के रूप में मानती है

यहाँ छवि विवरण दर्ज करें

साथ apt-cache policy kubuntu-desktopही वही चीजें दिखा रहा है

अनवर @ edubuntu-lenovo: ~ $ apt-cache नीति kubuntu-desktop
Kubuntu-डेस्कटॉप:
  स्थापित: (कोई नहीं)
  उम्मीदवार: 1.222.1kde47 ~ ppa2
  संस्करण तालिका:
     १.२५४ ०
        500 सीडीआरएम: // कुबंटु 12.04 एलटीएस _प्राइस पैंगोलिन_ - रिलीज़ i386 (20120424) / सटीक / मुख्य i386 पैकेज
        500 http://archive.ubuntu.com/ubuntu/ सटीक / मुख्य i386 पैकेज
     1.222.1kde47 ~ ppa2 0
       1001 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / नेट्टी / पैकेज
     १.२२२.१ ०
       1001 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / नेट्टी / पैकेज
     १.२२२ ०
       1001 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / कुबंटु / पैकेज

इसे हल करने के लिए, मैंने /etc/apt/preferenceफ़ाइल को हटा दिया sudo rm /etc/apt/preference

फिर इस बार फिर भाग गया apt-cache policy kubuntu-desktop। केवल इस अपेक्षित उत्पादन को देखकर।

अनवर @ edubuntu-lenovo: ~ $ sudo rm / etc / apt / प्राथमिकताएँ
अनवर @ edubuntu-lenovo: ~ $ sudo apt-cache policy kubuntu-desktop
Kubuntu-डेस्कटॉप:
  स्थापित: (कोई नहीं)
  उम्मीदवार: 1.254
  संस्करण तालिका:
     १.२५४ ०
        500 सीडीआरएम: // कुबंटु 12.04 एलटीएस _प्राइस पैंगोलिन_ - रिलीज़ i386 (20120424) / सटीक / मुख्य i386 पैकेज
        500 http://archive.ubuntu.com/ubuntu/ सटीक / मुख्य i386 पैकेज
     1.222.1kde47 ~ ppa2 0
        500 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / नेट्टी / पैकेज
     १.२२२.१ ०
        500 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / उबंटू / नेट्टी / नेट्टी / पैकेज
     १.२२२ ०
        500 फ़ाइल: / मीडिया / मुख्य / लिनक्स-सॉफ्टवेयर / Ubuntu / Natty / kubuntu / पैकेज

इसे भी फिर से चलाया। sudo apt-get install kubuntu-desktopनीचे उत्पादन देखने के लिए:

......... अनावश्यक विवरण हटा दिया गया .........

0 उन्नत, 213 नव स्थापित, 0 हटाने के लिए और 150 उन्नत नहीं।
अभिलेखागार के 0 बी / 89.6 एमबी प्राप्त करने की आवश्यकता है।
इस ऑपरेशन के बाद, 269 एमबी अतिरिक्त डिस्क स्थान का उपयोग किया जाएगा।
क्या आप जारी रखना चाहते हैं [Y / n]? 

आप यहां पूरा रिजल्ट चेक कर सकते हैं

तब मैं स्पष्टीकरण हिस्से के बारे में बहुत आश्वस्त हूं।


संदर्भ 1: apt_preference मैनुअल

संदर्भ 2: संकुल का एक विशिष्ट संस्करण कैसे रखें


1
"एक ही संस्करण के कई उदाहरण" भाग के लिए +1, व्यवहार की व्याख्या करता है। लेकिन मैं अभी सप्ताह के अंत तक प्रतीक्षा करूंगा, शायद किसी के पास बेहतर स्पष्टीकरण हो। :)
सावस्व राड्विक

क्या मुझे स्थानीय रेपो का उपयोग करके एक उदाहरण जोड़ना चाहिए?
अनवर

जीसस ... मेरा मतलब है कि आपके द्वारा बताए गए उत्तर के लिए धन्यवाद, लेकिन यह बहुत आसान होना चाहिए। पृथ्वी पर क्यों प्राथमिकता नहीं दी जा सकती है जब उपयुक्त ऐड-रिपॉजिटरी चलाई जाती है ??
एडम प्लोचर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.