नवीनीकरण के बाद PPA / repos को फिर से सक्षम करने का सबसे अच्छा तरीका क्या है?


40

जब मैं ११.१० से १२.०४ में अपग्रेड करता हूं, तो मेरे पीपीए को फिर से सक्षम करने और रिपॉजिटरी को जोड़ने का सबसे अच्छा तरीका क्या है?

जवाबों:


28

आपको उन सभी को वापस जोड़ना होगा / /etc/apt/sources.list.d/निर्देशिका में फ़ाइलों में लाइनों को जोड़कर उन्हें व्यक्तिगत रूप से पुन: सक्षम करना होगा ।

हालांकि अपग्रेड का समय पुनर्मूल्यांकन का एक अच्छा समय है यदि आपको पहली जगह में पीपीए की आवश्यकता है यदि आप पैकेज के नए संस्करण को प्राप्त करने के लिए सिर्फ एक का उपयोग कर रहे हैं।


8

मैंने एक बैश स्क्रिप्ट लिखी, जो sources.list.dअपग्रेड के दौरान अक्षम की गई सभी फ़ाइलों से अग्रणी हैश चरित्र को हटा देती है ।

निम्न कोड raringस्रोतों को अपग्रेड करने के लिए है saucy

यदि आप प्रत्यय रखना चाहते हैं # disabled on upgrade to ..., तो उपयोग करें

for f in /etc/apt/sources.list.d/*.list; do sudo sed -i 's/raring/saucy/g' $f; sudo sed -i 's/^# \(.*disabled on upgrade to.*\)/\1/g' $f;done

यदि आप प्रत्यय हटाना चाहते हैं # disabled on upgrade to ..., तो उपयोग करें

for f in /etc/apt/sources.list.d/*.list; do sudo sed -i 's/raring/saucy/g' $f; sudo sed -i 's/^# \(.*\) # disabled on upgrade to.*/\1/g' $f;done

4

यहाँ एक पायथन स्क्रिप्ट है जो वर्तमान स्रोतों को रिलीज़ करते समय ऐसे स्रोतों को खोजने और सक्षम करने के लिए पायथन एपीटी एपीआई का उपयोग करती है:

#! /usr/bin/python3

import aptsources.sourceslist as sl
import lsb_release

codename = lsb_release.get_distro_information()['CODENAME']
sources = sl.SourcesList()

for source in sources.list:
    if source.comment.lower().find("disabled on upgrade") >= 0:
        source.dist = codename
        source.set_enabled(True)
        print(source)
sources.save()

यदि आप इसे बिना चलाते हैं sudo, तो यह परिवर्तनों को सहेजने में सक्षम नहीं होगा, लेकिन यह दिखाएगा कि कौन से स्रोत सक्षम होंगे। साथ चलाने के लिए sudoपरिवर्तन सहेजने के लिए।


क्या यह उदाहरण के लिए, '# deb cran.rstudio.com/bin/linux/ubuntu Artful /' को '# deb cran.rstudio.com/bin/linux/ubuntu bionic' से बदल देता है? अगर आपने ऐसा नहीं किया तो क्या होगा (जैसा कि आपकी प्रतिक्रिया के आगे है)?
जेफरी बेंजामिन ब्राउन

@JeffreyBenjaminBrown यह करता है, और यदि आप इसे प्रतिस्थापित नहीं करते हैं, तो ऐसा हो सकता है कि निर्भरताएँ संतुष्ट न हों।
मूरू

मैंने पाया कि "आर्टफुल" (17.10 कोडनेम) शब्द को "बायोनिक" से कुछ लाइनों में बदल दिया गया था, जिन पर टिप्पणी की गई थी "अपग्रेड पर अक्षम ...", जबकि अन्य नहीं थे। मैंने उस "अक्षम" टिप्पणी के साथ सभी लाइनों को अनियंत्रित कर दिया और काम करने के लिए आगे बढ़ गया (हालांकि मुझे किसी कारण से gcc को पुनर्स्थापित करना पड़ा)। और मैं बहुत सारे थर्ड-पार्टी रिपोज - 13 फाइलें sources.list.dऔर तीन एलियन का उपयोग करता हूं sources.list। यह कुछ ऐसा हो सकता है जो उबंटू अब अपने आप हो जाता है?
जेफरी बेंजामिन ब्राउन

@JeffreyBenjaminBrown संभवतः, मैं हाल के दिनों में अपग्रेड नहीं किया है (ताजा इंस्टॉल, आमतौर पर), इसलिए डनो।
मुरु जुएल

1
ऐसा लगता है कि 19.10 के लिए मेरे उपयुक्त स्रोतों की फाइलें टूट गई हैं
ड्रीमकैट 4

1

मैंने विशेष रूप से अपग्रेड के बाद दोनों PAPs को सक्षम (पुनः सक्षम) और अक्षम करने के लिए कुछ स्क्रिप्ट तैयार की हैं। वे यहाँ हैं:

PPA स्क्रिप्ट को पुन: सक्षम करें

#! /bin/bash
# PPA re-enable script
# Use: ppa-reenable source.list
# to reenable a PPA without its source line
# Use: ppa-reenable src source.list
# to reenable a PPA with its source line

mod=1
file="$1"
if [ $1 == "src" ]; then mod=""; file="$2"; fi;
sudo sed -i "${mod}s/^# \(.*\) \(disabled on upgrade.*\)\?/\1/" "$file"

पीपीए स्क्रिप्ट को अक्षम करें

#! /bin/bash
# PPA disable script
# Use: ppa-disable source.list
# to disable the PPA completely
# Use: ppa-disable src source.list
# to disable the source of the PPA only

file="${1}"
mod=""
# If its only needed to disable the source
if [ $1 = "src" ]; then mod="2"; file="${2}"; fi;

# If source line is disabled, don't comment it out
second="`sed -n 2p \"$file\"`"
second="${second:0:1}"
if ( [ $second == "#" ] && [ $mod != "2" ] ); then
    mod="1"
fi

sudo sed -i "${mod}s/^/# /" "$file"

sudoशामिल है, ताकि आप अपने घर बिन निर्देशिका में इस स्क्रिप्ट स्टोर कर सकते हैं

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