रिपॉजिटरी जानकारी को अपडेट किए बिना यम के साथ पैकेज कैसे स्थापित करें?


10

मैं रिपॉजिटरी से कुछ पैकेज इंस्टॉल करना चाहता हूं लेकिन हमेशा जब मैं yum install packagenameyb अपडेट की कोशिश कर रहा हूं db:

Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Determining fastest mirrors
updates/metalink                                                                                                                      |  23 kB     00:00     
 * fedora: nl.mirror.eurid.eu
 * rpmfusion-free: ftp.astral.ro
 * rpmfusion-free-updates: ftp.astral.ro
 * rpmfusion-nonfree: ftp.astral.ro
 * rpmfusion-nonfree-updates: ftp.astral.ro
 * updates: nl.mirror.eurid.eu
fedora-awesome                                                                                                                    | 3.3 kB     00:00     
google-chrome                                                                                                                     |  951 B     00:00     
rpmfusion-free-updates                                                                                                        | 3.3 kB     00:00     
rpmfusion-free-updates/primary_db                                                                                             | 272 kB     00:08     
rpmfusion-nonfree-updates                                                                                                     | 3.3 kB     00:00     
rpmfusion-nonfree-updates/primary_db                                                                                          |  93 kB     00:05     
updates                                                                                                                       | 4.7 kB     00:00     
updates/primary_db                                                                                                            | 4.6 MB     02:35     
updates/group                                                                                                                     | 1.9 MB     00:33     

तो yum install packagename -Cयह भी काम नहीं करता है ("कैश नहीं मिला" त्रुटि होती है और yum makecacheपरिणाम भी नहीं देते हैं)। लेकिन मैं सिर्फ db को अपडेट किए बिना पैकेजों को स्थापित करना चाहता हूं।


3
क्यों? DB को अपडेट करने का मतलब है कि आपके पास पैकेज सूची के नवीनतम संस्करण हैं
Smudge

हम किस db की बात कर रहे हैं? यम रेपो / पैकेज कैश?
पतला

1
@sam क्योंकि प्रत्येक स्थापना के लिए रेपो अपडेट करने के लिए मेरी इंटरनेट गति बहुत धीमी है।
क्लार्क

1
@thinice हाँ जैसा कि आप लॉग में देखते हैं कि अपडेट हमेशा के लिए रिपॉजिटरी में होता है। मुझे यह करने की आवश्यकता नहीं है कि मैं सिर्फ रिपॉजिटरी अपडेट के बिना पैकेज स्थापित करना चाहता हूं।
क्लार्क

1
@purple तब आपको एक स्थानीय रिपॉजिटरी का उपयोग करना चाहिए, यम को रेपो डेटा तक पूर्ण पहुंच के साथ काम करने के लिए डिज़ाइन किया गया है, चाहे वह रिमोट हो या स्थानीय यम इसकी परवाह नहीं करता है लेकिन यह होना चाहिए।
स्मूदी

जवाबों:


12

यदि आप ऐसा yumव्यवहार करना चाहते हैं apt-get(प्रत्येक रन द्वारा मेटाडेटा को अद्यतन नहीं करना चाहते ), तो संपादित करें /etc/yum.confऔर वहां डालें:

metadata_expire=never

या

metadata_expire=7d

यदि आप एक सप्ताह के बाद मेटाडेटा अद्यतन करना चाहते हैं। यदि आप चलते हैं yum makecache, तो आपका मेटाडेटा apt-get updateडेबियन द्वारा अपडेट किया जाएगा ।

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

यहाँ metadata_expireप्रलेखन है:

आप विज्ञापन, एच या एम को क्रमशः जोड़कर दिन, घंटे या मिनट का उपयोग करने के लिए सेकंड का उपयोग करने के डिफ़ॉल्ट से भी बदल सकते हैं। डिफ़ॉल्ट 6 घंटे है, घंटे में एक बार चलने वाले यम-अपडेटड की प्रशंसा करने के लिए। "कभी नहीं" शब्द का उपयोग करना भी संभव है, जिसका अर्थ है कि मेटाडेटा कभी भी समाप्त नहीं होगा।


2wसाथ ही काम करेगा ?
सेबेस्टियन गोडलेट

कोई 2wकाम नहीं करता। डिफ़ॉल्ट 6 घंटे है, घंटे में एक बार चलने वाले यम-अपडेटड की प्रशंसा करने के लिए। आप सेकंड का उपयोग करके दिन, घंटे या मिनट का उपयोग करके डिफ़ॉल्ट रूप से बदल सकते हैं a d, h or m
शुभम चौधरी

4

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

आप मैन्युअल रूप से विश्लेषण कर सकते हैं कि किसी निर्भरता का पैकेज क्या उपयोग करके deplist <packagename>और उन्हें मैन्युअल रूप से स्थापित करना है।

यम का नहीं होना अप-टू-डेट एक अजीब अनुरोध की तरह लगता है जो भी परिस्थितियां ...


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

1
यदि आप apt-get install foo चलाते हैं - और दूरस्थ पैकेज संस्करण बदल गया है, तो आपको इस तरह के संदेश मिलेंगे: bitbucket.org/ianb/silverlining/issue/26/… - इसी तरह रेपो में अपडेट किए गए किसी भी निर्भरता के साथ। भी। (अनिवार्य रूप से, आपको अपडेट चलाने के लिए मजबूर करना)।
पतला

2
हां, लेकिन जब मैं एप्लिकेशन इंस्टॉल करने के लिए yum चलाता हूं जिसे बदला नहीं गया है तो यह db को भी अपडेट करता है।
क्लार्क

4

यदि आप db को अपडेट किए बिना एक पैकेज स्थापित करना चाहते हैं, तो आप सीधे आरपीएम डाउनलोड करें (या तो yumdownloader, ftp या वेब ब्राउज़र के माध्यम से) और फिर इसे सीधे आरपीएम के साथ इंस्टॉल करें:

rpm -ivh packagename

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


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